Categories
Creative Pursuits

Cut Loose Like A Deuce

I’ve been messing around with t-shirt designs on Cafe Press. Recently I resurrected some designs from when I was kid, but this one is an original. It is based on a line from a song that you ought to recognize unless you just couldn’t understand them when you heard them. Click to cafepress.com/cut_loose if you want to buy a shirt with the design.

The previous shirts I uploaded were

The next one will be Martinez-themed.

Categories
Programming

MySpace is not Friendly to Developers

I’m reasonably certain now that unless MySpace wakes up and fixes their developer approach, they can expect to lose out to Facebook. The experience for the developer is so off the mark over at MySpace, it is no wonder that after nearly a year of being available, innovation in the applications is stagnant. The reason is simple: MySpace makes it too hard on developers. The rest of this post is rant against MySpace’s developer platform.

Facebook set a standard for the developer experience. It works as follows. I join the developer group; I’m a developer. I don’t wait to be approved. I self-identify and I get started. I can immediately build a demo app. I can place it in a sandbox mode where only people I’ve designated can view it, or I can just make it live. Once I think it’s polished, I can submit it to Facebook’s directory. That will get me some free advertising. Or I could skip it. I could drive traffic to it with ads. It doesn’t matter. Facebook offers me the freedom.

Facebooks offers a system for certification that shows off my app as complying with their ideals for apps. I have to pay for this, and for most apps, it’s probably not worth it. I like that Facebook is trying this and letting the market decide. I suspect consumers won’t care about the certification, but I still appreciate them experimenting and letting developers opt in.

MySpace takes a big brother approach to developers. You apply to get an account, and you wait. I’m not sure what they actual check about people, perhaps that their email isn’t fake. Once you get into the developer program, you must create a “profile” for each application you develop. That requires a unique email address, even for a demo app. This must have been someone’s bright idea to overload the meaning of profiles at MySpace instead of generating unique IDs…except, apps do have unique numeric IDs. Facebook got this right–create an app, get a long, unique ID. Plus, on Facebook, I am shown as the developer. I don’t have some other email address that MySpace sends junk to.

On MySpace, I can see my app, but no one else can until it’s approved. This isn’t actually clear, since as you visit the live versions of your profile or home page, you see your app. If you recommend the app to a friend, no error is generated. I only understood this after I looked over a friend’s shoulder to see that my app did not appear for him when he looked at my profile.

So, I clicked to publish my app, and I waited two days. I was irritated to find it rejected. I got boilerplate complaints that I had to decipher how they related to my app. And I got this warning at the end of the email: DO NOT REPLY TO THIS EMAIL. THIS MAILBOX IS NOT MONITORED. (Yes, it was all in caps like that).

Some of the issues were valid, and it was good to get the feedback. I hadn’t tested the app on MSIE, and some quirks in the Javascript prevented it from working on that browser. Other issues are bogus and prevent me from providing the experience that is best for the users.

I want to allow my users to install the app either on their profile, for their friends to see, or on their home page, for their eyes only. It’s a reasonable decision. MySpace keeps telling me  “must contain unique content on every application surface“. I’ve actually seen other apps behave this way, so I can only assume that whatever mindless approval mechanism is in place (human or otherwise) is just happening to catch me. Perhaps other developers have figured out that you develop your app once for approval and then again for being useful. I have to finally get approved before I can test that idea.

I’m on my third round of asking for approval. I’ve made 5 minutes of changes today and now I can wait another 24 hours to see if I get satisfaction. One of the latest bit of feedback, which was new to the latest round but had been there from the beginning, is related to targets for links. If you link off of myspace.com, then you must set your link to target a new window. I see why you have to do this–the app is in an iframe and it loads the remote site in the little frame otherwise. MySpace hosts the application code. Why don’t they just add targets to links themselves? Facebook touches every bit of code to make it work best with their site.

I can only conclude that MySpace does not think of developers as providing value for their site. Facebook clearly understand the fair exchange of values. Developers make these sites more attractive to users. The more time spent on Facebook, the more ad revenue for Facebook.  MySpace seems to take the attitude that developers are miscreatants who must be forced to follow the rules. Facebook has a laisse-faire attitude. Developers try ideas in the market and Facebook only intervenes in cases where the apps are clearly being harmful.

It’s an interesting balance. Certainly MySpace tends to allow it’s users run rampant. They still allow users to place big chunks of CSS code in their “about me” profile box. Facebook attempts to keep the user experience uniform. You don’t get to have a black background on your profile page. It’s clear that Facebook spends time on serious user experience development. MySpace continues to appear to be an ugly hack.

Update 12/19: Of course, the next day I get a brand new complaint from MySpace. Today, it’s “Canvas Surface of the app is not appropriately sized to fit the module.” When I get these complaints, they include a link to Application Guidelines. That previous complaint about unique content quoted these guidelines, but this time I can’t find the word size anywhere on the page! Maybe that guideline was revised away the last time they updated the guidelines November 19th. I think I’ll just turn off the canvas page completely like I did the home page.

Update 12/22: I guess the reviewers take weekends off. Of course, the app was rejected yet again. Last Friday I used the checkbox on the developer console labeled “Enabled”. I unchecked it. I didn’t bother to click to where the “canvas surface” used to be because I logically assumed that with it disabled, there’d by no point. Applying logic to this process is clearly a mistake. The rejection I this time complained about an invalid canvas surface. It’s invalid to uncheck the checkbox?!? Why is it there?!? OK, so, the canvas is turned back on with just some plain text explaining that although I don’t want anything to be here, I have to put something there. I have to admit, I’m just about done screwing around with them. I feel like I’m talking to a random error generator.

Update 12/26: I guess putting some text for the reviewer on the canvas page works because I got a reply that makes it seem like it’s in reply to my complaint. Still, the app was rejected. This time it’s because I used the word “MySpace”, which implies affiliation with MySpace. Right. I did did get some advice for how to disable the canvas: redirect the user to the profile. I think the advice was meant to be about gadgets.views.requestNavigateTo(), although the advice mentioned navigateTo, which I think is a method on the window object in MSIE. I decided to be nice and tell the user that they are about to be sent to their profile page by including a 3 second timeout with a link to go their immediately. I wonder what error the MDP folks will complain about next.

Update 12/29: I’m finally approved. Now that I am, I can see that any change I want to make must go through the approval process again, even just a small text change. I have to think that however they are reviewing apps, it can’t scale up if they ever match Facebook which has more than 660K developers. It also strikes me that rapidly adapting the app to user behavior will be dampened if you have to wait a day for every change to be approved.

Categories
News

Tips For Being the Master of Facebook

Lately I’ve been having too much fun on Facebook. This site was developed for college kids and then subsequently opened up to everyone…which really just meant geeky early-adopters. But something magical happened for me in the past few months. Suddenly friends from high school started arriving. Then my 20th high school reunion happened and I promoted facebook as a place to keep in touch to a handful of people. In a matter of weeks my friend list has grown by a hundred people. I am definitely feeling the network effect. I figured it would be a good time to survey the tools I’m using and the fun things I’ve been doing.

Although most of the content I’m interested in lately is on Facebook, I continue to maintain identities on MySpace and Twitter. Ping.fm helps me post to all three at once. I do update my status in various places separately, but ping.fm is handy when I want to shout at everyone. I don’t even have to go to ping.fm itself, either. I installed the Google gadget on iGoogle. I can blast out 140 characters in no time.

When I was using Twitter for my primary microblogging, I ran gTwitter as my client. I don’t like keeping a Web page open. I like to have the statuses appear on my desktop. But then I wanted to try using identi.ca. So, I switched to Gwibber. It’s for Linux only. Windows people should try Twhirl, I guess. Anyway, Gwibber supports pulling status from Facebook. So, I get updates aggregated from multiple sources.

As I started seeing Facebook status updates throughout the day, it drew me into the site, and I started posting items to my profile more often. The increased activity paired with more friends showing up lead to more usage of Facebook’s IM. It’s nice to have IM built into the Web page, but it’s not nearly as usable as Pidgin, which aggregates all of my various IM accounts. The solution is a plugin for Pidgin that ties into Facebook’s chat.

If I’m on Facebook and I get an IM, the title of the tab in Firefox blinks. With Pidgin, I get a new chat window popping up. Plus, I get a log of the conversation.

I find myself checking the Live Feed on Facebook more often than I check email. I try to limit email checks to twice a day or so. Generally email is about people wanting something from me. It’s usually more efficient to batch the responses. Status updates on Facebook are about someone giving me information, thought non-specifically.

Technology aside, there is a style to using the features of Facebook that can enhance your experience. My friend, Marck, once told me he liked MySpace better than Facebook because the former felt more genuine while the latter felt more corporate and bare. Because of the mix of friends I have on each system, MySpace is like a quiet neighborhood where all the houses are painted purple and orange. Facebook is like an industrial area with raves going on inside the warehouses.

I’m sure that so many of my friends were friends in high school factors in, but the bare framework of Facebook seems to encourage us to act a lot like unruly teenagers. The sport is inventing the next goof. Any type of ambiguous comment is an invitation for a joke or mock ridicule. “A picture of my on a boat taken 2 years ago” is an opportunity to ask, “did you ever get the boat back?” And that’s a tame example. It’s similar to the banter that goes on at work without the fear of HR putting you on notice.

For a week, several of us pulled a prank on one of our friends by changing our profile pictures to his. Then we started altering the picture by painting his face or swapping in a different face, or putting his face on a celebrity body.

Another innovation we’ve developed is the use of the tagging functionality for pictures. It’s meant for identifying people in photos. And if they are on Facebook, they get notified. One thing we started doing was tagging people who aren’t in the photo to get their attention. We also started tagging things in the picture who aren’t people. This allows viewers to roll their mouse over various parts of the picture and see labels pop up.

Last July, Facebook said they wanted to advance the cause of bringing people closer together. From my perspective, they are making great progress.

Categories
News

How I’m Voting and Why

I thought it might be interesting to run down how I plan to vote next month. Most of the time, it’s pretty easy to decide which way to vote. I think the government, local through federal, ought to keep away from providing welfare and entertainment and stick to law enforcement and defense. The candidates in the presidential race have made it extremely difficult to choose this time around.

B Martinez Unified School District: This is an increase in property taxes in Martinez. I’m almost always against raising taxes. I’d much rather have parents contribute as much as they can, which seems to be what goes on at Tre’s school. Voting No.

H City of Martinez: This is a $30m bond to be used to improve parks in Martinez. I’d love for the parks to be better, and it would be especially nice if the pool were renovated. If we can’t get a charity to gather the funds, then a private enterprise should be given the chance. Voting No.

WW Extend Existing East Bay Regional Park District Bond: This is an extension of a bond measure to maintain regional parks in the East Bay. My reasoning is similar to measure H. Voting No.

1A Safe Reliable High-Speed Passenger Train: This authorizes the state to sell $10b in bonds to fund a new train system. The government should never be doing junk like this. Furthermore, the state government has behaved so badly for years with regard to passing a budget, everyone should know that given all this money they would surely fail. Lastly, with the governor publicly contemplating asking the federal government for bailout money, it’s ridiculous for them to start a project like this. Voting No.

2 Standards For Confining Farm Animals: This is a law to force people who raise livestock to provide cages that allow the animals move around. The government should not tell businesses how to operate. Animals don’t have rights. Voting No.

3 Children’s Hospital Bond Act: This is another bond act to fund hospitals. The government shouldn’t be messing around in this area, either. Voting No.

4 Waiting Period And Parental Notification Before Termination Of Minor’s Pregnancy: The government shouldn’t be in the business of helping parents. A notification service like this should be opt-in not opt-out. Also, this measure is undoubtedly based on a motivation to erode Roe v. Wade. Voting No.

5 Nonviolent Drug Offense, Sentencing, Parole And Rehabilitation: While I don’t think drugs should be illegal or regulated by the government, this law creates a new bureaucracy while blindly limiting options for judges. Voting No.

6 Police And Law Enforcement Funding: This law forces the state to spend a certain amount on law enforcement. It also enforces tougher penalties for crimes associated with a gang. The first part is interesting and latter part is wrong. The definition of a gang member is being on some list compiled by some other government bureaucracy. The Bill of Rights allows people to peacefully gather and this law seems to intrude on that right. Voting No.

7 Renewable Energy Generation: This law forces industry to generate energy in a certain way. The government should not be messing with the free market. Voting No.

8 Eliminates Right Of Same-Sex Couples To Marry: This reverses a court decision to allow gays to get married. The proper role of government is to enforce contracts uniformly. Marriage is a contract between two people that the government should enforce, regardless of the gender of the participants. Proponents of this measure disagree with same-sex marriage for moral reasons and would like the government to enforce their morality. The most irritating aspect of this proposition is how such money has flowed in from out of state. Voting No.

9 Criminal Justice System Victims’ Rights, Parole: This law seems to give more protection to victims of crimes. I like the idea that money collected goes to victims first. It seems like it causes mostly minor changes but at least orients things towards victims more than they are now. Voting Yes.

10 Alternative Fuel Vehicles And Renewable Energy: This is the type of law I would never vote for. It’s a bond to give money to people to make it easier to buy stuff. Not only do I disagree with the government increasing taxes so that it can interfere with the free market, I specifically don’t want the government promoting the alternative fuel movement. Voting No.

11 Redistricting: This law changes the way districts are set for electing representatives to the house. I like this law because although adding a new layer of bureaucracy, it should tend to disturb corruption. Voting Yes.

12 Veterans’ Bond Act of 2008: This is a straight bond issue for veterans in California. In general, I approve of the government using money for civil defense. However, the federal government maintains our armed forces, not California. Also, the federal government has plenty of money to help veterans that it wastes on entitlements. Voting No.

President of the United States: Voting for a person as compared to a law is hard. You have to judge the person by their actions to predict how they will promote the ideas you agree with. It’s often about choosing someone who’s not as bad as the rest. This year has been particular bad as neither candidate seems particularly qualified. The war in Iraq is important to me. Despite many mistakes, I think it was morally right to go in and it can still be strategically right. Earlier in the year, I figured that McCain would probably keep the war on track better than Obama. However, the past two months have demonstrated to me that McCain has no principles. He has a strong love of America but has no clue about how to act. He also seems to be a sincerely believer in religion who would impose his religion on the entire country. Two ways he has expressed this recently is with regard to same-sex marriage and abortion rights. Obama on the other hand seems to use religion as a political tool. His dropping of Rev. Wright was clear indication to me of his cynicism, which while isn’t particularly admirable, it’s a better approach than McCain’s.

So, overall I consider McCain unpredictable and willing to take away rights to further this religious convictions. I see Obama as cynical and unoriginal in his thinking. I expect President Obama to promote anti-capitalist economic policy and self-destructive negotiation-based foreign policy. That’s exactly what we’ve seen in the last 8 years. Voting for Obama.

United States Representative: George Miller is the incumbant who’s been there forever. He grew up in Martinez and went to school with my dad and uncle. I went to school with his son. We have sometimes been to parties at the homes of mutual friends. I helped him with the virtual swearing-in of Pelosi two years ago. It’s easy to vote for him for sentimental reasons, even though I probably disagree with most of his politics. There’s a really good chance he’ll win. Miller voted in favor of the bailout plan. He should not have. While I don’t expect a vote against him to lead to his defeat, I hope that voting for his Republican opponent will send him a message that we didn’t want that plan to pass. Voting for Roger Allen Petersen.

State Senator: In this race, I plan to vote against the incumbent due to the poor performance of the state government with regard to passing budgets. Voting for Christian Amsberry.

State Assembly: Again, I’m voting against the incumbent. Voting for Elizabeth Hansen.

City Council: There are two council seats open in Martinez. I am happy that the council balanced the budget and even had a surplus. Voting for Mark Ross and Janet Kennedy.

City Treasurer: The work of this office is mostly invisible, which is probably an indication that things are going well. Voting for Carolyn Robinson.

Categories
Martinez Personal

Love Rediscovered

This past weekend, the Alhambra Senior High Class of 1988 reunited to celebrate our 20th anniversary. It was a mind-blowing experience. Fellow classmate Theresa wrote a great personal account of Saturday’s party that captures the experience perfectly.

For me, the most intense and immediate emotion I felt all weekend was something like sensory overload. My brain was getting so much new information, some visual and some analytical. Everyone looked a little different but were immediately recognizable. For people I hadn’t seen for at least 10 years, I had to reach through time and connect my memories of them then to how they were interacting with me now.

There were some people who I don’t think I said three words to in school, but I knew their faces and I knew their names (even if I couldn’t put them together at first). But conversation with them could hardly be more natural. It was a powerful realization that these were people who share a life experience that’s hard to capture elsewhere.

Part of me was feeling a bit sad at the end because I didn’t spend enough time with anyone, and some people I completely missed! I found myself aching for more time, or time alone with each of them.

It’s taken a bit for me to process the information and emotions of this past weekend, but I think I’ve figured it out. It’s love. It’s the feeling that these people are so valuable to me. That they exist simply makes me happy. The potential for good times with them is infinite. I didn’t want it to end. I wanted to be back in 1988, spending all day with these people again.

To me, love–as a feeling–is the identification of something you value most of all. But it implies action. I want all of my classmates to know that if you ever need help or you want to have a good time, come to me. Need help moving? Need someone to watch your kids? Just want to have dinner? We usually eat around 6:30. Don’t be a stranger, and let me know what I can do.