Showing posts with label ning. Show all posts
Showing posts with label ning. Show all posts

Wednesday, October 31, 2007

Bad Writing

I like reading Marc Andreessen's blog. He has good insight. Today I saw the news about Google's Open Social initiative. I noticed that Ning was a participant, so I figured Marc would have something interesting to say about it. Reading his entry reminded me of many other entries by him and how incredibly annoying his writing style is. Let me give some qualification to this statement.

My 10th grade English teacher, Dr. Deluzain, was really tough. He made all of his students write a lot, and he absolutely tore up everything you wrote. I give him tons of credit for making me into a decent writer. In college, the biggest advantage I had over other Caltech students was not my mathematical abilities, it was my writing skill. Math bailed me out in many situations, and led to my only A+ (in quantum chemistry if you can believe that,) but I was always the best writer in every "soft" (literature, history, political science, etc.) class I took. Thanks Dr. D.

One of the lessons I learned from Dr. Deluzain was that you should never use styling in writing. This was 1991, so word processing had become popular. Of course people wanted to use bold and italics, or large fonts, to drive home points. Dr. D. taught me this was obnoxious and unnecessary. It showed poor skill. If you had to resort to such tactics to emphasize your point, then obviously you were doing so to make up for a lack of writing skill.

Fast forward back to the pmarca blog. Andreessen has to be the worst person I've ever seen at using italics and bold all over the place. Normally I just ignore it. College taught me that most technical people never need to hone their writing skills, so why should Andreessen be any different. The first full paragraph (most of his first few paragraphs are actually just sentences, but I digress) has 102 words in. Of those, 27 words are either bold or italics. Of the other 75 words, 21 are in quotations, which is a similar sign of poor writing (one I'm guilty of too, though it's not quite as bad.) It just makes my head hurt. I hate being a writing snob, but I needed to vent and that's part of what my blog is for.

I dislike writers who can only bring up negatives and never offer solutions to problems. So I decided to re-write his paragraph. I tried to keep his words as much as possible.

"Technically, Open Social is implemented as what I call a plugin API, or a Level 2 platform. In other words, it's not a web services API -- rather, it's a way for external applications to plug into a host environment (container). The external app literally shows up insides the pages of the container, and can make Javascript calls to retrieve information from the container and perform functions within the container. For example you can make a Javascript call to get a list of all of the user's friends, or to inject an event into the user's activity feed."

Isn't actually a lot less work to write it like this? Or has the web redefined good writing style? Maybe my way is antiquated and Marc's is exemplary...

Sunday, October 21, 2007

Ning Code

I was leisurely sifting through feeds in Google Reader when I came across a new one from the Ning dev blog. It was about enabling public feeds in private networks. They explained why this was a hard problem (it is) but how you could enable it given some security caveats (so far so good.) One of the keys is changing the source code for your network, which is very cool. That's where the coolness ends. Here's an excerpt:

To change the display code, first visit the file /lib/XG_TemplateHelpers.php and find the function xg_autodiscovery_link(). Remove the if (XG_App::appIsPrivate()) { return; } text (but leave the ?> at the end of that line.)

Next, visit the various templates that might display RSS links. These files are:

  • /widgets/forum/templates/category/list.php
  • /widgets/forum/templates/topic/list.php
  • /widgets/forum/templates/topic/show.php

That list is actually much longer, but you get the point. Umm, hasn't anyone here ever heard of encapsulation? PHP supports OOP, or at least enough of it to easily hide this particular flag so you don't have to remote it in twelve places!

Tuesday, June 19, 2007

Ning

Last week I went to yet another Lunch 2.0. This one was at Ning. As I mentioned previously, Ning is of special interest to me. What they are doing is very similar to what we were doing at Ludi Labs. Actually I'd say that if you took a little bit of what Facebook has done with their markup and query languages, and added that to Ning, you get really darn close to what Ludi Labs was doing.

After listening to the folks at Ning and watching their demo, I was really amazed. I went out and created a Ning network for my fellow Ludi Labs survivors. Of course the thing I am most interested in doing is hacking the source code, even though it is in PHP. I've requested it from Ning.

Their content store is also very interesting. I'm curious to see just how extensible it is. They seem to claim they have a large selection of "common" data types. I'm skeptical. Why? Because that was always a thorny issue for us at Ludi Labs. We did the same thing. Actually I'd say that it was one of our mistakes. We created too many data types and each type was too flexible.

Even if they have the too large catalog like we did at Ludi, it's not going to be enough. What if I want to create a social network for Blackberry 8830 users? I create a widget of all the mobile apps that you can install on the 8830. I want people to be able to add to it and to search it.Link Clearly I'm going to have a data type that Ning does not support. They might have some kind of generic object type that can take user defined attributes, but it's going to have problems when I start busting out searches against these user defined attributes.

This may sound contrived, but trust me it is not. It is something that Ning must solve to be a viable platform. Marc Andreessen did a great write-up about the Facebook platform. One his great points was about how if you write a great Facebook app, you'll be doomed just like iLike. That's because you must host the app on your own server (farm.) He was clearly hinting out how this problem is solved by Ning, where your app is hosted by Ning. But if my little Blackberry app I just described is super slow on Ning once we get a few million entries into it and a few million users running searches against it, then it's no better than the Facebook Catch-22.

Thursday, May 31, 2007

Facebook

I must admit, the hype about Facebook's F8 platform has got to me. First, I started playing around with my very under-utilized profile on Facebook. I added some apps: Flickr and Twitter. These are "apps" on my blog as well, so they seemed natural enough. Then I added the most popular new Facebook app, iLike. I figured it would be similar to last.fm, which I had on my blog. I even went to the iLike site, signed up, and insalled their "sidebar" for iTunes.

What a disappointment! First, there is no connection between iLike and the iLike-Facebook-app. To add songs to the iLike-Facebook, you must do it manually. Ick.

Next problem, the iLike sidebar is very buggy. It seemed to keep my CPU utilization pegged. It didn't matter if I was listening to a song or nor, or if "hid" the bar. It's obnoxious anyways, taking up way too much real estate for an application that is a complement to another (iTunes.) When I realized that the songs I listened to on iTunes were not showing up on Facebook, it was obviously time to uninstall iLike.

Ok, so back to Facebook. I like the idea of their platform. It's much of a real platform than any of the widget/gadget/whatever platforms out there. They give you access to Facebook services, and give you UI tools for integrating your app's UI into Facebook.

What's interesting to me is to compare it to Ning. A Facebook app does not live on Facebook. It lives somewhere else. It can communicate with Facebook and its UI is shown inside Facebook. A Ning app lives on Ning. The Ning app must be written in PHP. The Facebook app can be written in any language. An app on Ning gets to take advantage of Ning's scalability. An app on Facebook can see huge traffic, but your server/hosting provider has to able to handle that. You had better find some quality, cheap server hosting.

Obviously I have some special interests in all this. At Ludi Labs, the Roost website had some similarities to Ning. It was a build your own site (we didn't add the social networking adjective) using all of these great services. Of course Ludi failed and Roost was never available to the masses. Thus I find myself rooting for Ning now. I think F8 poses a real problem for them...