Archive for the 'root' Category

Venn Diagram of the Web

Tuesday, January 16th, 2007

For some weird reason, this weekend my brain started drawing a diagram of functions on the web. I think it had to do with contemplating the full usefulness of tools like Weebly that let you make a quick and dirty site. I know that to a lot of people “Content is King,” but the king surely isn’t the whole kingdom. So I started wondering how things play out functionally on the web:

Venn Diagram of the Web

What I found is that there seem to be four major functional areas.

  • Content
  • Transactions
  • Communication
  • Networking

Content is content. There is text, images, photos, videos, data… the kind of stuff that goes in and stays. It’s the stuff that you C(reate)R(ead)U(pdate)D(elete) from time-to-time. Within content, there are two kinds: Flat and Relational. Flat is stuff like articles or photos that are of value on their own, or in one-dimensional groups. Relational is stuff that is strongly categorized, hierarchical or inter-related, like a product catalog for light bulbs. Somewhere in between those two you get meta-data, which is the stuff that gives those flat pieces of content some dimension. It helps them relate to eachother, but not in the strong integrity of a database.

Transactions are when stuff is exchanged. Online banking is pretty much a matter of shifting money from here to there. yes, there is relational data in there, but the data itself is used for shifting money (or value, or whatever) back and forth, and isn’t of much value on its own.

Communication is the digitization of what we’ve done for thousands of years. The media we use are pretty few in this arena, and little by little they’re becoming more cross-functional like Skype or gtalk. The webmail I refer to means any in-site asynchronous threaded dialog. In some cases, this is public discussion like a forum, in others it’s private messaging. By alternative, the uni-directional asynchronous communication is comments – either to blogs or to MySpace pages, or what have you.

The newcomer to the game is Networking. It’s pretty simple and straightforward, but it’s what’s given the Web it’s little “2.0″ when it comes to functionality. There are sites out there that are either all-purpose, wide-open, no-limits networking (like MySpace or Friendster), and there are the sites at the other end of the spectrum: very narrow and focused, even walled off (aSmallWorld). What MySpace has done in this arena moreso than anyone else is embrace content. Instead of just saying “yeah, she’s my friend,” it lets users express their individuality through content – videos, photos, blogs, music, … – with little limit. Maybe that’s why they’re the big one ;) .

So, where’s Google in all this? They did something smart. They built a second-level on to this diagram. They said “Let’s organize the world’s information and make it universally accessible and useful.” They started out by making it possible to get at anything in the Content bubble. Now they’ve tip-toed into every piece of this diagram. Communications – check. Transactions – check. Content – check. Networking – er, um – check. No wonder they’re worth Goo-gillions. Yahoo’s working on the same thing, albeit a little behind. Others have carved out little niches, like Indeed with job listings and this new Wikipedia search engine.

Is this everything? Absolutely not. This is just version 0.1, off the top of my head. Why’d I do it? So I could sleep at night. What is this good for? It’s a lot easier to take over the world if you have a map.

where’s my pony??

Monday, January 15th, 2007

For the last month, I’ve been patiently awaiting the latest gmail feature: POP Mail Fetcher . Now I’m getting impatient.

Where’s my pony??!

go big

Monday, January 8th, 2007

I’m not exactly sure who recommended it, but there is a book Go Big or Go Home that’s a how-to for growing a startup. It’s pretty popular, actually, and heralded as instructional rather than anecdotal.

Just the title of the book is something that I need to tell myself pretty regularly. It’s against my nature to be loud and big and pushy and all that stuff that the phrase implies. But I’ve learned from experience that anytime I’ve pushed myself and “gone big” with something, the net result has been positive.

It’s a little like gambling. If you bring a sock full of nickles to the casino and play a few slots, you’re almost certainly not going home with the jackpot. But, if you save up some bucks, and spend a few hundred playing blackjack, it’ll last longer, and if you leave the casino up 4%, you can at least afford to buy a decent dinner (and have gotten a slew of free drinks, and a compped stay, and some vouchers for a show).

Same thing with vacation or going out on the town. Whenever we’ve gone out, we go big, and have a blast. We come home with exactly what you would want out of a fun weekend or trip: lots of stories that’ll last forever.

Same thing goes with the stuff I’m working on in the house. I don’t have tens of thousands laying around in cash to throw at this stuff, so I have to chip at it a little at a time. But, I have to seek the best. The paint is top-notch, the trim isn’t cheap, the dimmers aren’t your average slidey-jobbies, and last weekend, in a dual-purpose trip to Boston, I acquired $3500 worth of kitchen and bath fixtures from a friend that are the pinnacle of top-of-the-line (and paid less than cost ;) ). It’s a bit of a stretch right now, but it’s worth it in the end. I end up with stuff that’ll make me happy, and when I go to sell this house, it’ll be one of those “wow” moments for a prospective buyer that might just seal the deal.

Pulling all this back to my professional life, as I said before, it’s been tough for me to “go big” naturally. I tend to be rather conservative and cautious in the way I do things. It’s my nature to be safe and well-planned with serious matters like development. In the past few years, I have learned that playing it safe gets you nowhere. There is little advantage to being conservative or cautious when working on a project or making a choice. It’s the big and brazen moves that get you somewhere and get you noticed (if that’s what you’re looking for).

That’s all very abstract and vague. In a veiled way, I’m illustrating my experience (think pointillism) _outside_ of development. The choices I made in the not-so-recent past tended to be safe and cautious and grounded in pragmatism. All in all, they weren’t bad choices at all. In the past year+, I’ve made some big choices. Bought a house, left my safe job, spent money on renovations, done some travel. All of it has been rewarding, and I wouldn’t do it differently. Stopping to look back and wonder if I could have done it better is good, but second guessing my choices would be bad.

When it comes to development, here’s how it applies: think big. It’s naiive to think that whatever you’re working on right now will always stay the way it is. If that one thing never changes, it’s a bad thing. It means a) nobody uses it and b) nobody cares about it. By the same token, doing something half-assed only means you’re going to have to do it again. In some cases where time-to-market is the biggest issue, that can be overlooked, but for the most part, sacrificing quality is the last thing that should be done when a project is no longer operating in ideal conditions.

In a profession that is as based in logic and mathematics as this, there are some good measurable ways of evaluating the quality of what you’ve done. It’s traffic scalability, it’s adaptability when needs change, it’s the ability to add new features, and often it’s adherence to standards. There is a similarly important and large portion of development that’s aesthetic and subjective, which, to a certain degree, can also be evaluated. Is it appropriate, is it stylistically up-to-date, is it usable.

Whenever I’ve approached a new and unsolved problem, I strive to not only do my personal best, but to have it stack up. I relish the challenge of not only doing what’s asked, but at the very least doing it up to standards. We’re talking database normalization, W3C/508/etc compliance, browser compatibility.

It’s important to me that what I produce is of the highest quality I can muster. Otherwise, I’m just another one of those web hacks out there makin a buck off of people who don’t know better. I’m better than that, and I hope it shows.

stay tuned

Monday, January 8th, 2007

I’m working on a couple posts that are pretty in-depth.

Having heard well the suggestions of some bloggers I avidly read, I’m doing my best to just talk and not “present” or “preach” in my posts, and it feels good. But sometimes you just have something to say.

While busily painting my trim one evening last week, I had plenty of time to meditate on some relevant world/political topics, and I’ve been composing my thoughts, so be prepared!

the next best thing

Monday, January 8th, 2007

Until Nokia calls me back I had to find something that would keep me happy in the meantime. I’ve been really amazed by Samsung’s products lately, and impressed by their corporate stance on the brand: they want to be like BMW. And I like BMWs. Therefore, via the transitive property…

So I poked around to find the “best” and the “coolest” that Samsung had to offer. Applying my need for a decent camera, a candybar style and such, I hunted down the one I wanted, and acquired it: SGH-X820

I did this because I figure… if I don’t change my plan, I don’t really need a PDA thingy. I can still do most of what I need with this phone, and still – going over data and sms limits of my plan, it’ll be cheaper than switching.

Having spent the weekend in Boston with my new phone, I’m VERY pleased. It works just the way I want it to all the time, and it’s sexy as hell. I mean… thinner than a SLVR, and *not* a Motorola? Nokia: watch out!

nokia: call me

Wednesday, December 27th, 2006

I’m not one to grovel and beg, so I won’t do it now. But here’s what I’ve got to say, Nokia: get over yourself. Once upon a time, you were the belle of the ball. You had pretty gowns and a rockin… set of features. You did it snappily and cutely without looking like an anime-loving Japanese schoolgirl with her STD clinic on speed dial. You had grace and efficiency that is trademark of your get-the-job-done-with-few-words Scandinavian heritage.

But then you got a little narcissistic. You were lauded for wonderful ideas and innovative interface designs, and while you were bowing, the world kept going. RIM is eating your lunch with one of those giant silver serving sporks and a pair of wooden salad tongs. Motorola has the worst interface on the planet, but they slap a shiny skinny cover around it and blammo, you’ve got a household name. So, Nokia, where’d you go?

I know you’ve still got your foot in the game, but you’ve gotta keep going. The E61 was a great start… it’s just too bad that Cingular forces you to your knees until you come out with the E-series’ idiot cousin the E62. Yes, yes, I hear you… if you want to play ball in the US, you’ve gotta play by their rules. Isn’t it about time that changed?

Terminate your contracts with the providers and open a store next to every Starbucks in North America. See how they like it when people sign a contract to get the “free phone” and pop their SIM into one of your hot new toys.

Better yet, get people who actually use your phones to beta test them in the US. There is so much diversity of users in terms of habits and signal strength and travel, etc. in the US, that it’s a great edge-case market for testing. Anyone can prove that their phone works perfectly at 72F at sea level at 10:30am standing 100 feet from a tower that’s serving up all the network you could want. But what about those people in mountainous regions? And those of us whose municipalities would rather we stick to smoke signals than put up obscene towers just so we can find out what color socks Tawni is wearing to her soccer game while we drive down the road in our Escalade doing 90 mph.

Better yet, ask me! I’m a great tester. I use my phone daily for all sorts of tasks, and I never bang it on the desk to make it go faster. I travel from the suburbs to Manhattan routinely, by car or by train. I work with computers and the Internet ALL DAY, and have friends with all sorts of other devices and networks that I exchange txts, emails, mms, etc with. Besides, I’m sick of shelling out hundreds of bucks and signing contracts that describe the term in Epochs just to play with a piece of plastic that just makes a phone call.

You’ve (hopefully) already read my wishlist of features in a phone. How about you get to drawing, and give me a call when you come up with something. I’ll let you know if it’ll win hearts like Jennifer Garner, or just please loyal fans like Anne Hathaway. They both look good in a dress, but which do you want on your arm?

more evidence that I’m a geek

Tuesday, December 26th, 2006

so we’re most of the way through a slew of work on the house. A wall came down, and there is all new paint, and new moldings n stuff, and it looks fantastic. We also got a bunch of new high hats in, which brings me to the point.

I love my dimmers. Like, really love my dimmers. They’re not super geeked-out like x10 or anything, but they have two things that are kind of exciting to me: little green lights that move, and cool extra little fade in/out features. I look forward to going in and out of the rooms that have said dimmers just so I can play with them. I even got another one for the bedroom lights that has a remote control!

That makes me a geek. A very very happy geek.

my mobile wish list

Tuesday, December 26th, 2006

I’ve had the same phone now since July of 2003. ‘How’ you ask? How can I – someone who is pretty demanding of their devices – possibly have had the same phone for two and a half years??

Well, first of all, it was *exactly* the device I wanted. Something that I didn’t have to sign a contract for (thank you, eBay), something that had Bluetooth (which was rare back then), a camera (and it took video: ooooo), mp3 player, email stuff… scads of features. The best part? It’s a candybar.

I like candybars. The chocolate kind with peanuts and caramel, and the digital kind that you put up to your ear and say “hello.”

It does all kinds of stuff, and it fits in my pocket.

Fastforward to the present. All kinds of high-speed data networks are growing like mold on rocks, new devices come out every couple weeks that routinely beat the competition. Heck, it’s probably possible to sit with your kr-ak-jakz-eo thingamabob on the top of a mountain in the andes and send your cousin in Sheboygan an e-mail about seeing him your sister’s bar mitzvah the next day.

With all this wonderment, why can’t I find one that I like? Reason: they all suck. It’s a multiple choice quiz:

Which one of these faults would you like in device ‘x’?
a) suck-ass battery life
b) little-to-no camera
c) qwerty keypad requires surgeon and micron etched needle
d) requires restart at random and totally inconvenient intervals
e) 2-year commitment to service of unknown quality

Here’s what I would like:
* Pocketable form factor
* usefuly sized keypad, preferably querty
* display of reasonable size
* camera that takes recognizable pictures
* reliable high-speed network
* crashes less than once a week
* bluetooth with a2dp
* at least somewhat attractive. gets a date to the prom, but doesn’t need to be crowned queen.

Here’s what I can live without:
* wifi (if I’m in range of a wifi network, chances are I’m near a computer that would be waaay better at doing anything requiring a wifi connection)
* streaming music videos with ultra bing-blingy polymorphic ring-picture-vid messages
* anything remotely related to windows

So, please, Mr. R&D, make me that damned phone. Or at least ask me for some opinion on what to make. Trust me, if you follow my suggestions, you will have that better mouse trap that most of the population is yearning for.

For the time being, I’m torn between the Treo 680 with Cingular and the BB 8703e over at Verizon. I’m sure everyone has an opinion on both, which doesn’t help me much. Maybe I’ll just flip a coin…

levels of control

Tuesday, December 12th, 2006

For as many different kinds of people there are out there, there seem to be different ways of approaching development. These different ways could probably be placed on a “control spectrum” where at one end (for the sake of argument, let’s call it the _Left_) you have the willy-nilly, cowboy-coding, answer-to-no-one kind of development that usually involves one programmer who’s never worked with others before.

This is identified by:
* lack of source control
* no distinguishing marks between ‘feature requests’ and ‘bugs’
* orders being rattled off verbally by the ‘boss’
* development done *on* production
* raw FTP
* programmed in notepad
* sub-par quality
* *fatal* crashes

The quality of the work is so low, that there isn’t even mention of QA, just “why doesn’t this #$*(& thing work??”

On the other end of the spectrum (again, let’s call this the _Right_), you have uber-control. A programmer has the authority to change only the lines of code he has been assigned, must do it in the style and number of characters dictated, as assigned by a black-box ticketing system, at the assigned time, for the assigned duration, at the desk to which he has been assigned on this day by the little lcd control thingy on his keychain (which needs to be authorized once a week), following the 372-page printed code manual given during the week-long orientation in Tampa or Memphis or someplace equally temperate and desolate.

This is usually identified by:
* disinterested programmers
* Everestine code libraries
* rigid feature sets
* long development cycles
* above-par reliable software
* documentation that fills several warehouses in Jersey City
* copious backups

Underneath all of this control is a direct relationship of overhead. The more control, the more overhead:

On the Left, there is no documentation, no tracking of development, no checking in to source control, no release procedures, etc.. At the same time, work is turned around quickly (with the exception of the “x=0″ Left), and is very adaptable.

On the Right, there are additional days, weeks, and months of generating documentation and diagrams, minutes added to development daily for checking in and out, releases are done in a scheduled and controlled fashion, accountability for every line of code, and even more time for testing and QA.

Since I started doing development, I’ve experienced all different kinds, and have a pretty good idea of where I fall in the spectrum. I started out as the sole developer, knowing nothing of good development practices. After a few years, I developed my own procedures to make sure things were a bit more controlled. Once I started working with a team, I learned how my old ways were insufficient, and worked with people to come up with procedures for doing development. I’ve even worked in such a highly regulated environment that my looking up code examples online was identified by the IT department’s proxy as me visiting “online gambling” websites, which warranted a “talking to” (which lead to me leaving that job). It wasn’t until a while later that I started exploring actual development methodologies, and learned not only the error of my ways, but how much I was doing right _naturally_.

As in most things, I tend to be a little to the left of moderate. I’ve picked up the bits of control that are eminently helpful to development and help produce quality code, while leaving behind all of the extra documenty-bits that don’t do anyone any good, save the company that makes printer paper. The question I ask myself is “after this is launched, will I be glad I’ve done _x_?” If the answer is yes, I do it. If the answer is no, I don’t. If the answer is maybe, I need to work out a rough cost/benefit ratio to determine if it’s worth the added overhead.

There are some things that I know I can do better, that involve more control, and thus more overhead e.g. Test Driven Development, and Feature Specs for QA. It feels a little bit like jump-rope… I’m waiting for the right moment to hop into it, but I’m sure once I get in there, it’s just a simple matter of jumping up and down.

lamp webstuff tools

Saturday, December 2nd, 2006

I’ve been back and forth lately on sticking with this blog engine. It’s good… it does the job… but I also set up wordpress for something else, and it’s really that much nicer. I’m going to have to see if I can migrate the stuff from here to there.

I also started messing with Joomla to set up a silly site, and it’s really good. I like the simplicity of the template/css editing (with some usability caveats), and the configurability of display stuff at all kinds of levels. The install went nice and quickly, and from what I’ve seen of the code, it’s nice and lean.

The last tool isn’t something I’m new to, but it’s something I’ve done a lot of exploring with lately. JQuery takes nearly all the pain out of JavaScript for me, whittling it down to just what’s needed to get some interesting and fancy stuff running. I’ve had some trouble with the quality of the plugins, though. If anyone has any good scripts for edit-in-place + select lists, let me know. Doing multi-forms on one page is getting to be a bit cumbersome with the scripts I’ve found.