web development

December 05, 2008

The unfortunate mainstreaming of internet douchebaggery

Today someone spammed MetaFilter on behalf of Conde Nast publications, and it pissed me off way more than the average occasional spammy self-promoter on MeFi. We have a strict rule at MeFi (since there's no editorial vetting upfront) that you can't post about your own stuff, you have to make posts to interesting random stuff you found on your own. Unfortunately, that doesn't matter to the douchebags intent on ruining the web for everyone else with search engine gaming, as long as they benefit their clients, so we end up having to delete these keyword-laden posts that feature over the top fake testimonials about sites they "found" when they really worked for them.

What pissed me off today was seeing a normally reputable outfit like Conde Nast stooping to hiring a dodgy firm that employs such lame spammy activities. I know the response from Conde Nast or the spammy SEO company will be the same I've heard a thousand times: "It was one rogue employee" or "We didn't know the firm would employ such tactics." I heard the same thing when the Times (UK) was found spamming social sites earlier this year.

The point that seemed to be lost in the Times story was that a cornerstone of journalism that had been publishing for hundreds of years would stoop to such lame-brained antics. You'd think that someone higher up at a place like that would think maybe getting a couple percent more advertising revenue by ethically shady means wasn't worth jeopardizing the reputation or position of a 223 year old newspaper -- that institutions with a long-term vision shouldn't be interested in a quick buck by any means possible.

It's a bummer to see Conde Nast hiring someone to "optimize" search engines for them (where "optimize" means spam the web and generally make social sites and tools less useful for everyone in the hopes they do better for certain key search phrases) but given the way the economy is going and where it is headed, I suspect we'll see a lot more big name outfits and longstanding institutions making these same mistakes and resorting to problematic methods of increasing their bottom line, and frankly it sucks for everyone involved. It sucks for anyone using the web and wanting decent honest search results based on real quality of information (not just the information promoted by self-interested parties). It sucks to see industry leaders with dozens or even hundreds of years of successful business think this is a sensible approach to the web. Finally, it sucks to see some chucklehead get paid to spam websites in ways that are becoming so normal that people think this is something every business should do.

July 01, 2008

This is broken too: Threadless shopping cart logins

Threadless is my favorite place to buy t-shirts, period (this includes any offline stores). I've bought dozens and dozens of them and I even subscribed to the shirt of the month club for a year, but every time I make the mistake of throwing a few shirts in my virtual cart and then remembering to login afterwards, I lose all my previous selections. I buy shirts there every couple months and in between each visit I often forget about this bug in the long lost hopes someone fixes it. When I got hit with it for the millionth time tonight, I took a few quick screen captures to demonstrate the problem.

Here is video of the shopping cart failure

The first 30 second bit is me adding a shirt to my cart, continuing to shop, then logging in and trying to check out, but my cart turns up empty. Not good.

The second shorter bit is after I add a shirt to my cart, go to check out, then remember I should login to grab my saved address/credit card/etc info, but as you can see it clears out the cart. Oftentimes I lose 15 minutes of shopping time picking out just the right shirts in my size because the cart clears out every time upon login. Then I have to try and remember all the designs I liked and put them back in the cart (often I just quit and shop the next time they send me a 'new releases' email)

Threadless, I love you guys to death but I've encountered this bug for about two years and would love love love it if you fixed it with some cookie/session storage of shirt selections so I don't lose my cart upon login

(why login? if you don't login, it basically creates a new threadless account with your exact same details and there was a time I was subscribed to their mailing list three times under different "accounts").

update: by the power of greyskull, this has been fixed!

June 12, 2008

Eleven

After upgrading my first mac (powerbook) to another powerbook, then to an iMac and finally to a Mac Pro, I realized five years of using the Migration Assistant had finally run its course. Various basic parts (mostly Keychain Access) of Leopard stopped functioning properly and since everything ran great on my new Macbook Air, I decided it was time to backup, format, and reinstall fresh on my main Mac Pro.

A few hours after upgrading I installed Firefox and my most often used apps like Transmit and Textmate. Every few days I realized I needed one more app so I'd download and install it. After a week or so, I was pretty much done reinstalling.

Last year I wrote about doing as much as possible using online apps and how I found it really handy, so today I looked at my Applications folder to see how many things I've installed aside from the default Mac apps. I counted 11 applications total outside of iLife and iWork. It includes a couple proprietary things I need for installed hardware (like the wonderful ScanSnap) but it's mostly the basics (Firefox, Transmit, etc) for doing my everyday work tending MetaFilter.

The thing that surprises me is that I reformatted my computer about six weeks ago, and I haven't felt like anything is missing since. Thanks to a combination of almost all my work being done online and the great set of built-in functionality of OSX, I can get by on an almost completely clean system.

Ten years ago I had literally hundreds of apps on my Windows box, and I feel like I was constantly needing more.

May 30, 2007

Ads good! No ads better!

If you've followed this site for a few years, you probably saw my old essays introducing Google's Adsense to the blogging public and that time I said ads in RSS were a no-no. Today I wrote an extensive update on the same subject over on my new blog: How ads really work (superfans and noobs). I basically lay out everything I've learned from hosting ads for the past five years including some data from my own sites and those of several friends.

May 02, 2007

WebVisions 2007

WebVisions starts tomorrow and I've enjoyed the last four of them, so I'll be around tomorrow and Friday.

I figure I'll just go to any talk involving Lane Becker and that's half my schedule booked.

May 01, 2007

My new site: fortuitous

leaf logo When I came back from Austin, I mentioned that I wanted to do a new site focused on business type advice. After a month or so of the idea gelling in my head, I wrote down about 30 ideas for essays I'd like to write, I banged out a mockup, and I looked up a bunch of goofy domains. A couple more weeks passed and thanks to the CSS coding of Ryan Gantz, editing skills of Anil Dash, and the nice fellow that sold me the domain cheap, I give you: fortuitous.

It's a new essay every Monday about some aspect of business that I've learned while running the MetaFilter/PVRblog/etc empire. Nothing too earth shattering, but it's a fun outlet and I think it'll help a lot of people in a similar situation out. Subscribe to the feed and follow along.

(btw, the design of the bottom frame CSS hack thing is totally cribbed from NorthTemple and it does display funny if you scroll your mousewheel like mad. It was also the first thing I've ever built using Coda as the IDE and it was fantastic, with a little more polish/features it'll replace Textmate as my editor of choice)

December 14, 2006

Bug report: Two things that suck about Gmail

Gmail is the best web app there is, period. It's also my sole interface to email. It's close to perfect, but a couple things keep me from calling it as such.

I get a ton of spam, in the low thousands per day, and gmail is pretty good about most of it, but it does generate a lot of false positives. Given that say 3,000 spam messages come in every day, false markings on 3 or 4 messages is damn good percentage wise (putting gmail's filters as 99.99+% accurate), but it still sucks to miss out on legit email. I've found a couple places where Gmail is lacking:


  1. I have a few filters for mailing lists and email from my websites' contact forms, which each get labels. Stuff I filter on sender or receiver and label should bypass spam filters. Today I missed several messages addressed to my contact form and one mailing list message that was merely someone's eulogy of a lost friend. I don't think spammers are going to guess all my filter rules and labels to get around Gmail's spam-catcher so I think it'd be safe to skip the spam checks on any specially filtered or labeled mail. If you're on a mailing list that gets spam, you should probably fix it through your mailing list software, not your client. I can't have any false positives with private mailing lists (spammers will never join) or contact forms (it's my first point of contact with outside strangers and very important that I don't miss any).

  2. I get a lot of phishing scam email that makes it into my inbox and Gmail's phishing reporting makes you think you're doing something substantial (it requires the extra step and all), but in reality I'll get several exact copies of things I've already reported as phishing scams minutes to hours after I report the first one. It'd be nice if Gmail would kill any and all future attempts that match previously reported phishing spam.

December 02, 2006

Parallels updates

I first heard about the new Parallels beta here on Dan's vox account. It's really incredible. It includes a couple cool new features, one being "Coherence" which lets you run windows intermingled with your mac. See how I have a windows taskbar below my apple menu at the top? That's Coherence running.

When it comes to computers, I've long been a tool agnostic. I started on Windows but I used to run emulators to test out how sites looked on a linux box or an old mac. I used both a mac and windows machine simultaneously for the past four years so I could use the best applications of each platform. At first it was two computers side-by-side, then I got to share a single keyboard and mouse. Eventually, I got two virtual desktops running on a single intel Mac with Parallels. With the latest Parallels beta, I can now run just the one or two windows apps I need directly on my mac desktop.

After many years of tinkering, I've finally got the ultimate web testing platform. I can edit files in a window, then just hit refresh on safari, firefox, and IE6 all next to each other to see how each browser responds to changes.

If you develop websites and have to worry about CSS differences between platforms and browsers, this is the killer tool for you: Parallels and an Intel Mac.

August 23, 2006

Future of Web Apps

In a few weeks I'll be in SF for the Future of Web Apps conference.

Every conference I've been to has had its share of shortcomings, and often my friends talk about someday doing our own conferences so I'm happy to see developers like Ryan Carson take the initiative and do their own. I'm looking forward to and I like that it'll be a single-track speaking schedule. There's something extra you get out of being stuck in the same room with everyone that you don't get in a big sprawling multi-track conference that forces you to ask everyone "were you in the talk on X?"

It looks like it's in a huge theater so I bet there are still tickets available.

August 18, 2006

For the love of bartering

I've been building sites for ten years now, but these days I'm lucky enough that I don't have to take on client projects to pay the bills. Back when I did, I always had a love-hate relationship with my clients and the work. I spent a lot of late nights away from my family and my own projects but it also paid fairly well but then again every once in a while a project would go way over my budgeted time and I'd take a loss on it.

Lately though I've run into family members and non-web nerd friends that need help building sites and I've dipped my toe back into doing it. But this time around, I'm having a blast helping them out because instead of money, we're doing small barters of favors or cheap goods. Here's why it's working this time around:

- When you're not billing someone $100/hr for your time, they're not edgy when you don't finish a task immediately and you're not edgy when they go out of town for a few days leaving you waiting for feedback. It's incredibly low stress compared to paid client work.

- I trade my work for something friends/family produce or get at a massive discount. It's always for something I kind of want or need and I save a few bucks by getting it free. They get a great site for a small (if any) price and we're both happy.

- I tend to be bashful with clients -- I'm not the type of guy to bust into a conference room and proclaim I'm a world-renowned web expert on coding, design, and community. Turns out it doesn't matter when they're friends and family -- if you're building a site for your uncle, you don't have to explain why XHTML/CSS web standards are important or worth the effort, you can just code it.

- It's almost always a new site, so there aren't legacy code/design/support issues and there's often low-to-no expectations from the "client". Anything you do will wow them so you're free to explore possibilities. I've yet to have an argument over mockups and I've been able to go with my first mockup so far. This also makes things stress-free and easy for you as the designer/developer.

- One example: I traded a year of free haircuts for building a site for a salon. The salon owner would probably have to pay someone local $500 or more for something similar and now I get a nice $30 haircut every month or two, saving a couple hundred this year. The cost of their time for cutting my hair is much less, so everyone's happy in the end.

I'm doing a couple more sites for family and friends in the coming months, and someday I'd love to hook up with a local silkscreen shop to trade t-shirt printing for building them a new website.

If you're a designer/developer, try asking around your local friends and close family -- chances are they could use your help and can get you something small for the low-stress work that makes everyone happy in the end.

April 05, 2006

When friends and contacts are neither.

I noticed something weird in how I use Flickr today and wondered if maybe there is a disconnect between social software systems and utility in web applications. I know flickr has continually moved away from the social software label, but their application still has firm roots in such a system.

I started using flickr back when it was a flash-enhanced backchannel chat at etech many moons ago, and when it was finally released to the world, it was built off the previous web trend of social software [1]. You used to have 5 or 6 different levels of contacts with various rights attributed to your images, but thankfully they simplified the process into basically "contacts" and "friends/family" (friends and family can be separate, but they're basically equal).

So the odd thing is that I've been adding really good photographers as "friends" even though I've never met them. Real-life friends I've shared many beers with have been demoted to "contacts". Half my contacts list contains people I've never had any contact with whatsoever aside from looking at a photo of theirs on flickr.

When I first joined flickr, I did the natural thing and connected to everyone I knew online as contacts with people I met and hung out with in real life as friends. But flickr isn't just a social software app and is a great utility, and the one page I hit on flickr.com many times a day is the "Photos from your contacts" page. What I quickly found is that while I love seeing my friends take photos of the beach, and their family, and meals they eat, eventually the feed was getting clogged with one friend's fascination with a subject, or another friend's attempt to upload thousands of photos at once.

I realized mapping my personal relationships of "contact" (acquaintances) and "friend" clashed with the actual utility of Flickr. With almost 300 contacts, I've taken to keeping my favorite photographers as friends, and viewing photos from "friends and family only" and switching that back to "photos from all contacts" occasionally when I have nothing to do and time to kill. A bunch of pro photobloggers I've never even emailed are on my friends list, while people I have attended many parties with and enjoy talking to are demoted to contacts. At this point, the word "contact" lacks meaning and I can't think of a new term they should swap it out with.

This presents weird social problems. I worry when I set a stranger as the elevated "friend" level and they get the email from flickr describing it -- it feels like a social faux pas that I've overstepped my bounds [2]. Similarly, I don't have the heart to completely delist anyone from the lowest contact level, especially those I've talked with at many parties, on the off chance they notice.

Maybe it's my early adopter status and adding so many friends as contacts early on when the application was just getting going, but I've noticed the leftover social software components don't really mesh with how I use the app anymore. Flickr is a really useful, fun way to share photos with friends -- it is software and it is social in nature, but the old conventions of social software don't really apply.

I'm curious what comes next -- what terms should we use to describe social and utilitarian connections in the latest web applications?

 


[1]. It's weird how the best example of web 2.0 technology was born during the 2003 social software boom that has since passed. Is the next king of web development trends going to spring from all this web 2.0 hullabuloo by learning from current mistakes and conventions and outlive this era?

[2]. For the ancient-in-web-years reading this, you probably remember a time when Carl Steadman added you as a life partner on sixdegrees.com

March 10, 2006

Thoughts on etech

I just got back from etech, exhausted a bit more than usual considering I didn't partake in any sort of debauchery. Everything is still fresh in my mind, so I better jot my thoughts down before they escape me.

The Good

My favorite talks from the event were George Dyson's, danah boyd's, and Scott Berkun's. They were fun, interesting, and filled with good ideas. There were a lot of product demos (more in a bit) but two stuck out as fun to watch and I couldn't wait to use reblog and (someday in the distant future) a multi-touch interface (which is absolutely incredible). It was fun to drive around in a hydrogen powered car. The food was better this year, and having three nights of free open bars was very generous for the sponsoring companies, though I never had more than one drink. This year's etech also had a futuristic streak -- where topics of what computing and life would be like 30 years from now was heavily discussed and while that may have no bearing on my own work I found it refreshing and stimulating. More talk of robots, more crazy art student hacks, and more discussions of future RFID universes of things, please.

It was great to see everyone and I came away with lots of good ideas for things to build into my own projects (mostly from conversations, not presentations though).

The 'meh'

The conference was sold out, so it was crowded everywhere, which is to be expected. But it did suck to miss talks because the rooms were overfilled. Once a day I couldn't get into a talk I wanted to see and couldn't get into alternate talks either and had to sit in the hallways instead. On the last day, talks were moved to smaller rooms with almost the same number of people so it was very difficult to see all the talks you wanted to see that day. I showed up ten minutes early to the ones I got into and still barely got a seat. I don't know how to solve this problem when a conference is popular, but it would have been nice if the last day still maintained the larger rooms (that still filled up the previous two days).

Oh, as a result of the crowds, the wifi was borderline unusable. When you could get a connection and load a page, it was like a slower-than-normal dialup, frequently taking a minute to load a web page with lots of timeouts. It was a tech conference and everyone had a laptop, so I know it's a tough crowd to manage bandwidth for, but I would have been a lot happier this week if I could check email and my sites during down times. Maybe Cisco or Verizon can sponsor it next year and wow us with fiber speeds in the many multi-megabit per second range.

There were a lot of product pitches thinly disguised as talks this year. A handful were interesting. In addition to the ones I already mentioned, the Root Markets talk and even Ray Ozzie's copy/paste demo were fun to watch and showed how a product could save you time. The rest of these demos felt out of place. It was especially clear during the morning keynotes. You'd have one or two interesting talks and there would be some momentum between the audience and presenters but then... bam! a boring shill from some company demoing their latest patch that added ajax to a product I didn't care about before and won't care about in the future. A boring product demo or two combined with a slow internet connection meant an otherwise fine morning of talks was often soured by the 20 minute infomercial I couldn't escape from. Don't get me wrong, some demos are cool but so many of them this year fell flat on their face -- were the presenters oblivious to the audience? It sure seemed like a few companies had no grasp on what the conference was about when they gave their talks. I'd say the Microsoft, IBM, and Adobe/Macromedia demos felt the most off-kilter with the audience.

Sponsorship of conferences and product launches/demos aren't going away and aren't categorically bad things, so I hope future etechs can strike a balance between companies wanting to get the word out and audience expectation of compelling talks and information. It'd be great if all the demos could be put into a big morning slot where everyone gets ten minutes to show their latest product. It'd be a great incentive for startups to launch big new ideas at etech and I bet the demos would feel less like an infomercial and more like something I'd be excited to attend and see for the first time.

The theme of the conference was about attention economy -- how to conserve what time we have and maximize our output amidst the information avalanche that hits our desktops daily. I wasn't convinced talks and demos were working towards that. Everyone seemed to mention the word "attention" and tweak their introductions to fit the theme, but I saw very few mentions of practical advice, approaches, or tools to help me get through the glut of email, rss, and the web. I wasn't expecting a GTD seminar or anything, but it would have been nice if presenters dropped tips or let the audience look over their shoulder as they worked, metaphorically speaking.

Overall, I had a good time, ate some good food, talked to and met a lot of great people. It was a fun trip but not a perfect conference (etech has been the perfect conference in the past).

February 14, 2006

Measuremap goes to Google


(the signing, originally uploaded by MaggieMason)

I'm happy to see Google did indeed buy Adaptive Path's Measuremap. I joked about the rumor earlier, but it's actually a great time to acquire an app.

I've been using Measuremap since last summer and I could tell from early on the service was going to be hardware intensive. They built a robust statistics package that let you deeply mine your data but they also had all that data to deal with. I know people that devote a separate box to analyzing their log files from a single site, so it was hard to imagine how Measuremap was going to deal with every hit to every blog and offer all kinds of analysis on the data for every user. Google's great at massive hardware-intensive projects, so they'll be a good new parent.

When it comes to their applications, Google could also use some design help and they couldn't get a better deal than taking on Jeff Veen. It'd be great to see Google Analytics stuff get a fancy AJAX facelift from Measuremap, or have Google Analytics and Measuremap combine into some sort of hybrid super stats package. My hope is that hey work Veen like a mule, and he revamps the Google Adsense system, the search engine output, Google News, and makes Google Video look cool. Hey, I can dream can't I?

But a big hearty congrats to AP, Measuremap will be great when everyone can use it.

I just found this in my saved iChats, from the first day I got to try out Measuremap:

me (11:55 AM): holy cow I can already see why this is crack in its pure form
jeff veen (11:55 AM): may I send that quote to the team?

January 25, 2006

MyBigRiver

I tried out MyBigRiver (via Ev) and it's pretty cool, though I was a little surprised it couldn't find any of my books. Check out the inline video to see what it did find though:

Awesome.

January 08, 2006

Testing JSON

Last ten from delicious, via the JSON api (thanks to Jason)


October 21, 2005

How to add comments links to your MT RSS Template

One thing I liked when I first started using Wordpress was that the RSS feeds had a comments entry, and in readers like Bloglines, it would render a nice "Comments" hotlink below each post. The downside was that (at least with the version of WP 1.5 I used) it would add the comments link to every post, whether they were enabled or not.

I've been meaning to do the same feature in my MT blog here, ever since I started enabling comments. Scott's recent redesign added the feature and today I noticed that I was getting feedback in email from a post that had comments enabled -- in other words, people are reading my stuff in an aggregator, and then emailing me a response instead of posting comments and adding to the entry's conversation. So I finally added it to my feeds, and it works in Bloglines nicely. Here's the code to add somewhere in between your item elements of your RSS 2.0 feed:

<MTEntryIfAllowComments><comments>
<$MTEntryPermalink archive_type="Individual"$>#comments
</comments></MTEntryIfAllowComments>

That's it!

September 15, 2005

Talk about bumcakes, my girl's got 'em

Derek's post about robust footers at the ends of pages highlights a brilliant change he recently made during a site redesign. As peterme noted last year, Flickr was one of the first sites to use this seemingly forgotten space for useful things (in flickr's case, a sitemap, in derek's a sorta sitemap/intro to his other projects).

It's weird to think we've all been building sites for 10+ years and "putting useful stuff at the end of a page" is a breakthrough but it really does feel like the first new layout idea in quite some time. I've toyed with the idea of it on the Creative Commons site since I saw the flickr implementation, but I think I'm going to test it out on my personal sites first.

July 06, 2005

New store CSS updates

Today I launched a new store and donation page for Creative Commons and while we're always looking to bolster our public support of the non-profit (and the t-shirts are really cool), I mention it here to show what's possible with CSS.

When I did a mockup of the store page, I did it in photoshop and aimed for a clean, catalog look that brought the photos of the products to the forefront. Once everyone liked it, I had a slight pang of worry that I might have to resort to using a table to align the photos and text.

I've been working on some fairly advanced CSS layouts the past couple years, and in the past year I've gotten to the point where I can reproduce almost anything in CSS, thanks mostly to a variety of float techniques that Doug Bowman explains here.

I started laying out the page like any other, using a variety of CSS columns floated to align text and images. I figured I'd hit a sticking point eventually and if necessary, resort to some ugly table hack to finish the job. I surprised myself in the end by never reaching that sticking point, and the end result is a nearly pixel-perfect identical layout, and it's all CSS (I know there are one or two minor html nits keeping it from validation).

I always knew CSS was powerful, flexible, and useful, but in the back of my mind I felt there a few browser limitations that could keep it from letting me do 100% of layouts using it. After this project I think it's safe to say at this point that using tables for layout is absolutely and completely a thing of the past.

May 24, 2005

Work for Creative Commons, work with me

I'm happy to announce that we're looking for a designer at Creative Commons to handle print projects and assist me in web projects. My ideal match would be a San Francisco-based someone with a nicely designed xhtml/css blog and portfolio that has done annual reports, business cards, logos, and illustrations in their past. Working for Creative Commons is a great experience and our office is an amazing environment to work in. The person that gets the job will likely be working with me (mostly over AIM) on a regular basis, so readers of this site should have a good idea of what I'm like. I'll be looking forward to pouring over portfolios in the next few weeks trying to find the best match.

February 21, 2005

Ajax on the rise, finally

My good friend Jesse just posted a great essay about javascript-powered web-apps he calls "ajax." It's the start of something big and I'm glad to see Google finally doing innovative stuff with this technology.

All this talk of persistent connections and javascript powered streaming data reminds me of my brief time at KnowNow back in early 2001. Adam and Rohit discovered and exploited a largely unused feature of the http 1.1 spec that allowed a browser to connect to a server and stay connected. New data would stream in via javascript and they built half a dozen of the most amazing applications I ever saw. I remember being sure that this technology would change web application development forever, and enable web apps that felt more like desktop apps, way back in 2001.

Google Maps and Google Suggest barely scratch the surface of what you can do with this technology. I don't know what the statute of limitations is on NDAs, but internally we had full blown IM environments, auction pages with real time bidding and chat with the seller, and a whole host of other demos all built in HTML and javascript that never saw the light of day. They did get seen at PC Forum back in 2001 and they caused waves. Where those waves went, no one knows.

Without going into any more details or burning any more bridges than I already have in this post, I also remember all the great ideas from the passionate engineers and designers getting squashed one by one by upper management and everyone with a good idea being squeezed out as the company lumbered from one hair-brained attempt to the next to become an enterprise software company. There was a tremendous opportunity for innovation and the company could have been at the forefront, but everyone was laid off or quit from boredom, and here, 4 years later we're finally starting to see a few apps get built using this technology.

January 09, 2005

Posted Elsewhere needs to go internet-wide

If you're a big Flickr user, chances are the recent comments URL is your new inbox. All my friends punch it up like a skinner box. The opposite URL for tracking the comments you've left on others' photos works in a similar way and is just as addictive. Obviously, after loading both for the tenth time today, I thought why don't I have two similar URLs for tracking the same info about my blog?

Emulating the first is easy -- most any blog software can give you a view of recent activity, which you can use to find out who is commenting on your posts and what is being said on your site. The second feature is a bit harder.

In spring of 2003, I started an experiment where I would trackback all the comments I left on other sites back to a special category here, so I could keep a public, running tally of offsite comments. It was a pain and as much as I tried to automate it with custom submit forms and javascript bookmarklets, it was a manual operation and I am busy/lazy enough where anything remotely manual gets dropped eventually. Here's a screencap of what that looked like on my site, taken from this old archive.org page.

I know I'm not the first to request this, but I'd love to see someone propose a system that could track your comments across all blogs automatically. I think trackback pings could still do it if someone piggybacked a server onto TypeKey or something similar, so that every time I left a TypeKey logged-in comment, an automatic ping would go from a blog I was commenting on to my profile's personal trackback URL. I could then use those pings to create a page that looks like this, but for all (MT at the least, but hopefully other systems could play) blogs I read and comment on.

Lazyweb, don't fail me now.

update: can RSD be used for an auto-detect?

November 19, 2004

PayPal's weekly closing


(PayPal's weekly closing, originally uploaded by mathowie)

I tried to login tonight and forgot that PayPal closes every Thursday night/Friday morn from midnight to about 2am, and I was reminded of how quaint that is.

I used to work in a computer group that took all servers offline one saturday a month to update, patch, and upgrade, back in 1997-2000. There were many late Sunday nights and weekends without email and pissed off employees.

I'm kind of surprised PayPal would continue this practice even today in 2004, with so many web services built with them as the backend.

November 10, 2004

Slick UI

When I first read about the new wysiwyg interface to Typepad, I didn't think it was such a big deal. I've seen dozens of wysiwyg forms before and few were anything but annoying.

The Typepad UI is amazing though. It goes way beyond making text bold, italics, or 64 different colors. Today I created a post where I uploaded a graphic, aligned it to the right, and filled in text around it. I didn't think the UI would handle it, but here's how it looked on the admin end of things (post area highlighted):

typepadui.gif

It was capable of uploading the image, storing it, and displaying it via CSS and I could continue writing text around it. Fantastic. I've never seen a wysiwyg interface that could do something like that and my hat's off to whoever wrote the monster javascript this application must have required.

It's as close as you can get to actually writing posts in their final format. I can't wait until this kind of featureset comes to MT.

November 08, 2004

Upcoming Firefox milestone

Firefox is finally hitting 1.0 on Tuesday morning. I remember going to the Mozilla 1.0 launch party in San Francisco a couple years ago, but Firefox 1.0 feels like something much more meaningful. You've got a ready-for-primetime browser that is better than anything else out there in all aspects. I volunteer to install it for everyone I know and everyone (especially those trapped in IE on Windows) comes away happy.

This is the culmination of all the work jwz started back in 1998, to make the then-dying browser Netscape open source. Now that Firefox has the virtual lead in features and quality of experience, hopefully they'll continue to build from here and grow their lead over competitors.

November 06, 2004

Can you go from MT to Flickr?

You can post from Flickr to a MT blog, and you can make your Flickr photosets show up on your blog, but does anyone know of a way to use Flickr as a mirror to a MT photoblog?

Ever since I got a pro account at Flickr, my storage and upload limits are essentially gone, and it'd be nice to have every photo I post to my Ten Years site also post to Flickr with the same data (I even use my keywords field to do the same thing as tags). If I ever lose my server's hard drive, I could always publish from Flickr in a pinch.

And if they someday support photo printing, it'd be an automated way of using Flickr as a virtual storefront for images. So you view my daily photo on my site, and if you want to buy one, a Flickr print-n-pay site would be one click away.

November 06, 2003

Designer makes IE developer-friendly

A clever designer figured out how to run IE 5, 5.5, and 6 concurrently in windows XP. I'm going through it right now, installing the two old browsers so I can test on them, but the first thought that comes to mind after "woo hoo! finally!" is "why in the hell didn't MS and their developer network show anyone how to do this years ago?"

Why on earth would they not want you to be able to do this? Since the instructions are so simple, I'm going to assume someone, somewhere in the IE browser group (which I hear was disbanded sometime in 2002) knew all along this was possible. What possible explanation would keep them from releasing the simple info and making developers the world over happier to use MS products? And how many developers asked MS how they could do this (starting since IE 5 came out) that they ignored? [via sidesh0w]

update: worked like a charm, and uncovered several display bugs in some sites. I also remembered that there were at least two IE developers on a popular web design list I used to follow daily, and the requests for running IE 3, 4, 5, 5.5, and 6 on the same machine came in at least once a month, if not more often. Why did they sit on their hands about this?

another update: the bare minimum of files for each browser, ready to run once unzipped.

October 22, 2003

ALA is up

The new A List Apart is back online. I've missed it since it's been dormant, using it fairly often during the last redesign project (mostly for the CSS lists article).

The new issue features Doug's article on CSS tabs, and it's absolutely terrific. Doug's got an amazing way of coming up with solutions to problems no one else can crack, and his solutions are really clever. I'd say he's one of the few people doing web design that can truly think outside of the box, but that phrase is so cliched as to be meaningless so I won't say it. Anyway, Doug never ceases to amaze me with the things he can come up with.

That all said, there were a few visual aspects of the new ALA site I feel could be improved. The front page feels a bit chaotic to me, with all that blazing red everywhere. Above the fold, I'd guess there are 25 links in four different sizes and different type treatments, but when I first looked at the site all I saw was red links everywhere and it was hard to know where to focus. The layout kind of reminds me of the excellent Nedward blog, which does a great job of visually separating content into "the important stuff on the left and the other stuff on the right" through the use of color in backgrounds and graphics. The other problem I have is the separation between articles on the front page and the archives. Scrolling through this list of CSS stories, it's hard to tell where one ends and another begins. I would guess whitespace would go a long way here. Adding 30-50px above each title would pad the page out and require more scrolling, but each article would be easily found and retreived from the growing lists. An alternative would be subtle separators of some sort, either CSS-enhanced horizontal rules or graphics. And lastly, the article widths feel about half as wide as they used to be. I don't know if they are really narrower or it's a bigger font, but the line-length feels abrupt compared to normal comfortable reading on other sites. I don't want to sound ungrateful, it's an amazing developer and designer resource, but the collaborative nature of the articles naturally brings out the design and developer critic in me.

Congrats on all the work Zeldman, et al. had to do to bring it back from the dead!

October 04, 2003

Finally uploaded

I've been fairly quiet here for the past couple months due to a million projects at work, one of which I finally got to finish tonight. We revamped the Creative Commons website, and although it largely looks the same, there are some new sections, a reorganization, and complete recoding from the ground up, using the latest CSS tricks.

The logo is now using this image replacement trick to hide the logo from text browsers. I removed the javascript rollovers and script used in the navigation on every page, and instead replaced it with the CSS rollover technique, which borrowed heavily from the techniques used on the Lee Jeans site. It's a really cool trick, each nav bar item is actually a larger image that shows both states, with CSS to move and hide the parts that don't need to show. As these technologies and tricks are constantly evolving, Simplebits has a great tutorial on doing a three-stage rollover all with CSS (I'll have to copy that and reduce the number of images and lines of CSS further). Before I was doing navigation and subnavigation using nested div elements, but now everything is a nicely organized, unordered list styled with CSS.

The end result are pages that look exactly the same as before, but the code is about 20% tighter (the site was already valid XHTML/CSS before), pages will be easily indexed by search engines, and the content will be more accessible to all. Take a look at the about page, then turn off styles in your browser and view source to see what all the work was for. Now, if I could only get IE 5 on the mac to allow for float:right to work when applied to a form element, I could get rid of the last table in the header, but even with that, the site is valid XHTML, it's simpler to update, and carries both rich semantics and increased accessibility.

But don't just take my HTML programmer word for it, there really is a business case to be made for coding websites like this.

September 19, 2003

Upcoming.org

Andy just launched his new collaborative event site upcoming.org. I've been playing around with it for the last 15 minutes or so and I'm amazed at the possibilities there. The site is pretty sparse, even if you have an account, but I can see the potential and I'm really excited about it. Andy's written one of the first second-generation social software apps I've seen.

What do I mean by second generation? Well, I've been known to bash the hype around social software (even though I've arguably been running a social software application for the past four years), but it was only because I was waiting for the substance that lived up to the hype. Yeah, Friendster is pretty cool now that it has 2 million users, but what does it actually do aside from help my single friends get "hooked up"? I haven't found it any more revolutionary than a massive public vanity mirror so far.

Upcoming ties together a few of the strings that the past couple years of software tinkering has made for us. It's got parts of Craigslist, MetaFilter, Friendster, and weblogs rolled into it. You create an account and post events you're going to, and friends and others in your metro area can find out about them via the site or RSS. Every event is like a blog post that allows comments from others. While I didn't figure out why anyone would syndicate their own events list (the only updates to it will the ones you add so the notification possibilities of RSS ae kind of lost) until I realized that with a package like mt-rss, I could keep an updated list of upcoming events using it. Right now I update by hand my upcoming event in the lower right hand side of this site, but it's often out of date because I'm lazy -- not so once I get mt-rss and my upcoming.org feed to automate it. Andy's told me that more RSS feeds, FOAF, iCal support, and Trackback implementations are on the way.

Just like how Movable Type built upon the first generation work of earlier blogging engines, I think upcoming is the first of a new breed of social software apps that fills a need, and samples the best ideas from a previous generation of applications. I think it's baby steps in the right direction and I can't wait to see what applications look like in 2-3 years when a site like upcoming.org is more the norm.

September 18, 2003

Stupid Safari

This is a strange CSS bug in safari I found today: you can't use animated gifs as CSS background images.

View this page in Safari, then try it in any other browser. I can only get the first frame to display in safari.

September 16, 2003

Stupid CSS

I've been wrestling with CSS bugs over the past three days while trying to hone a design, but the strangest one was finding out that two popular image replacement techniques (1, 2) don't work in mac IE 5 if you use anything besides a heading element to hide your text.

So:

<h1 id="logo">logo text</h1>

will hide the "logo text" and replace with an image, but:

<div id="logo">logo text</div>

will not. Makes no sense and prevents me from using it on a public site, since I no longer want to use headers to describe logos.

Try this test page in Mac IE 5 to see the bug.

update: yeah! a fix!

September 12, 2003

No mac user left behind

Can anyone tell me why the firebird nightly builds for mac stopped updating almost two months ago while the other versions have chugged along?

update: yay! unofficial builds are available -- I can get my sidebar links again.

September 10, 2003

Roadmap for future wikis

Yep, wikis are a total nightmare. I don't know why I went easy on them in my previous posts, as I wanted to share all the things they do poorly when I posted recaps. Might as well do it now.

Overall, people that have had their "light bulb" moment with a wiki love them and would love to see wiki functionality in other kinds of sites. The following suggestions are all geared towards making wikis more easily understood and used by most web authors and readers by reducing the wiki cruft and wiki geek features to act more like a typical website people are accustomed to reading and building.

My first problem was finding any package that could output good html. Only a handful (maybe 3-4) could pass the HTML validator for anything beyond HTML 4.01, but all but one still output terrible markup. They either use line breaks instead of paragraph elements, or they forget to use closing paragraphs. Some packages (it looks like MoinMoin is one of them) output html in CAPS so you'll never get xhtml out of them without doing modifications.

I don't know why this is so difficult for wiki package authors to get, but if you want to build a powerful package, have it output pages that look like this:

...
<h1>Page Title</h1>

<p>first bit of text.</p>

<p>next bit</p>
...

PHPwiki was the only package I found that could do this.

Navigation is always going to be difficult, as wikis are supposed to be flexible enough to grow in any direction. Consequently, this means you often see a link to absolutely everything on the main home page, which is an information nightmare. It'd be nice if you could flag a handful of pages as the major ones, and have navigation bars build up automatically (on my wiki I had to hard code them by hand). Of course before you can have a nice nav bar, you have to dump the ones that ship with wikis, which leads me to:

Wiki package authors need to get over their geeky features. Just because you can do backlink searches, subscribe to pages, and measure file differences on all the previous versions of a page doesn't mean you should display these things for all users. Look at this random page from a MoinMoin-powered wiki. How much actual content is there and how much is geek cruft that only a subset of users would care about or even know how to use? Give all but logged in users a minimum set of functionality that actually improves their experience, not hinders, and stuff the info in the footer, not the header of the site. I know wikis were designed by engineers, for other engineers, but the general public is beaking into the wiki world and not all of them know what CVS is.

As Barry found out, the template systems are fairly arcane, requiring you to modify html around programmic code (perl, php, python, etc, it's usually intermingled in the templates). Approach wiki templates like a powerful blogging system. Templates should be pure html, with calls to functions that include other bits of content and html. Make templates for all those other bits too, so that when you include [$navbar$], you can also modify the html within the navbar include. Also make the main CSS file a template that can be used to control the layout and design of the entire wiki. I know this might mean a wiki could have 20 different templates, but them's the brakes, and people would prefer the flexibility and control over their look and feel. Like blogging engines, most users would start with the main template, and only the industrious few would go into every template to make sure every last line of code was valid and correct.

Blogging tools have done templates this way since 1999, and so far I haven't seen a single wiki adopt this method, though I've only looked at 7 or 8 packages and I know there are dozens now. It's simply a matter of removing as much hard-coded HTML from within the wiki's codebase, and move it out to your template engine. You don't want people to get to the point of saying "boy I hate the way the calendar's HTML is coded by my wiki package and I can't modify any of it." Let page designers sculpt and mold any and all HTML output by your engine, because this is how organizations work. A group has a site, they might have an engineer coding it, and a page designer making it look nice, while others work on content and marketing. Wikis should allow this type of backend collaboration as well as the frontend.

They also need to provide a method for linking beyond CamelCase. Give me a shortcut to make a regular, single word into a new page. Perhaps I could write &&contact and have that become contact?, and build a new page that doesn't have to be called ContactThisSite in the URL and title in order to be easily added to the site.

I'm sure I'm missing a lot of things I found out while setting up my wiki, but this would be a good start to building the ultimate wiki package that users and designers would like.

September 04, 2003

Behind the Wiki

Several people asked if I could upload my phpwiki changes for review, so here it is: 666kb zip

Keep in mind the following:

- If you want to use my code, install phpwiki 1.3.3 first, not 1.3.4. Then either copy my phpwiki-1.3.3 files over yours or do a diff on them to compare. I changed a lot of little things in all sorts of places I have forgotten.

- I hard-coded a few things like the nav in the upper left in various .tmpl files found in the /phpwiki-1.3.3/themes/default/templates directory, so change accordingly to match your site.

- I included my .htaccess files so you can see how I'm redirecting people at the root of my site over to /matt and how I got the /matt/HomePage wiki default document to switch to /matt/home (I changed the title of the default page in MySQL, but you could create a page called "home" instead).

- I'm providing it as-is to other wiki hackers so don't email me with problems, as I can't offer much help. My changes worked for me, hopefully they work for you or you can adjust accordingly.

September 01, 2003

CSS wiki zen garden

I've been playing with wikis for the past three years but it was only about a year ago when I started realizing they were a killer app for intranets. Given a protected environment and a small group of users, the ease-of-use for editing and the ability to grow a site organically are the two biggest features in my mind.

A couple months ago I started thinking about how I could get the same easy editing features in other software, or if that wasn't possible, I wondered how far you could take a wiki package's output. I kept thinking about this until I finally sat down and gave it a try. This weekend I had some free time so I sat down to answer the following design challenge:

Is it possible to produce a wiki that offers all the power of a wiki while at the same time looking like a regular website?

"Looking like a regular website" for me also adds additional design parameters. In my eyes, a site has to be valid HTML and use CSS instead of tables for layout. A site also should be semantically correct, and since most wikis produce fairly simple HTML (content is just headings and paragraphs), I intended to take a CSS zen garden approach when coding it, putting all style into a CSS file while leaving the content produced by the wiki (and the content order) alone. The last requirement I put on myself was to produce a site that didn't look like it was limited by the other parameters. Like other projects I have created, I design purely in photoshop. This often produces interesting designs that have to be solved like a rubik's cube when converting them to xhtml/css, but I do my best not to think about XHTML strict vs. transitional when putting colors, fonts, and shapes together in photoshop.

The CSS zen garden site really opened my eyes and demonstrated that almost anything is possible in xhtml. It served as a model and inspiration when I started working on this Friday night. After some initial mockups, I settled upon this clean design and did my best to make the final product match it.

The first big obstacle was finding a wiki package that produced simple, valid HTML that didn't harm semantics. "WikiWiki" means "quick" in hawaiian and after looking at several packages, it seems the engineers that coded them were working quickly too. I could see how most relied on ugly hacks and awful html to display content, which is the nature of fast web application production. Eventually I chose phpwiki due to the simple headers and paragraph tags used for layout, and I spent most all of Saturday hacking away at the template files that control output (I've since heard from others that there are better packages out there).

I removed as much of the wiki cruft as I could, I simplified the URLs used by the application, removed unnecessary items from the navigation, and locked down the system so only I could edit pages (although I'd love to get typo fixes from the community, the specific and personal content doesn't really lend itself well to collaboration).

After a day and a half of hacking at php, xhtml, and css, I spent this evening converting the old content into the new site layout and wrote up some bits of info here and there.

The end result is here. It's valid XHTML 1.0 strict, produces some simple, semantic output that works in any browser, is entirely controlled by a wiki back-end (making editing and adding new pages a cinch), and I achieved the layout of my mockup almost exactly (compare the original mockup to a live portfolio page).

I'm happy with the outcome, though it was a ton of work to achieve my goals even considering my fairly simple content. I believe with further hacking it would be possible to control a fairly robust corporate or personal website with a wiki backend, so here's hoping someone creates that package, or takes the work I've done farther with their own site.

August 24, 2003

PeoplePC deserves death

A while back I described the hell my disabled and retired father is going through while wandering the depths of the Hinternet, and when his computer became completely inoperable my mom went down to Fry's and picked up a decent cheap new PC. After a few days using it, he was again left with a computer rendered useless by viruses and spyware. I told him to mail the new PC to me and I'd set it up properly.

Last weekend I formatted the machine, installed WinXP Pro, made the latest Firebird the default browser, updated the OS, added a virus scanning program, setup his email accounts, setup his dialup, and added dyndns so I could terminal into his machine to fix it in the future.

He got the revamped machine on Friday and used it happily for a couple days. Today I got a call from him, saying his email was no longer working. The error messages sounded like some settings were changed and he assured me he didn't modify anything in Outlook Express (I want to put him on Thunderbird, but he insisted on OE). After an hour on the phone troubleshooting and me using remote desktop on his machine, I could tell he installed some software and I could see he was using IE again.

It turns out he installed the PeoplePC dialer/mailer package, even though I setup dialup networking to use his existing PeoplePC dialup, and had shortcuts to OE and Firebird on his desktop. I guess a lot of users like to click on one thing that lets them dialup, shows them mail, and shows them the news.

But as far as I can tell, when he installed and ran the PeoplePC package, it rendered outlook express useless, because it changed his pop3 and smtp server settings on all accounts to 127.0.0.1, the loopback address. I can see why they did this, as my dad felt uncomfortable using dialup and OE alone, and went so far as to say he didn't want a cable modem in the future because "he had everything he needed in PeoplePC."

It seems that PeoplePC likes to keep people feeling that way. I explained to him that although he has been a paying customer of theirs for the past 3 years, their new software rendered his old settings useless, so he couldn't use his other email accounts. He felt they took care of everything for him because their software made sure that his alternatives no longer functioned. He got the picture and said he would look into getting a cable modem or DSL line, and stop being a PeoplePC customer.

I really hope there is a special circle of hell setup for people that approved decisions like the ones at PeoplePC. I hear stories like this time and time again, and I can't believe companies get away with such shenanigans. If you own a Ford truck, and you bring a new Chevy sedan home, the Chevy doesn't automatically drain the oil from the Ford while you sleep the first night, making the other truck useless. Companies can't get away with that kind of thing in the real world, so why do companies like that flourish on the internet?

I've always hoped that the increased communication that the internet provides would lead to freer markets; markets where people had more choices and could research company practices. It's still my hope that open, honest companies will win out in the long run. I'm reminded of SixApart's stance on such things, I know I'm happy to use Movable Type and Typepad, since the company has enabled import and export of data since day one. Let's hope in the future companies with policies like that are the only ones left doing business online.

August 19, 2003

Cozying up to both OSes

A few months ago, I added a second monitor on my PC workstation and I grew to love it. I could keep development applications on the larger screen, and keep email and IM on the other. It was more organized and I could work more efficiently, sliding from one monitor to the other as needed. More recently, I've added my powerbook to my desk, and thanks to various specialized applications, I'm using that as well, but with three monitors spanning two operating systems, I'm finding it cumbersome to jump from one machine to the other regularly.

For a solution, I've been looking into KVM switches like this one. It would let me run my single USB keyboard and mouse on either the mac or PC, and I could switch operating systems on my main monitor with a click of a button. But using dual monitors has made me wish for something more integrated.

My ideal workspace would still span two monitors, and I would still get to use a single keyboard and mouse, but I would love to be able to slide between operating systems fluidly with the same dual monitor desktop setup. This would let me do development work in Photoshop and Homesite on my PC showing in one monitor, and my mac would be running in the second one, running Apache, Mail, and iChat. I could copy URLs from iChat and paste them into my PC running mozilla. Mac on the left screen, PC on the right screen, with a single mouse pointer controlling both and sliding effortlessly between the two; basically the best of both worlds, in a single desktop environment.

While my ideal vision seems impossible on the surface, I can't help but wonder if the best selling PC software emulator for the mac being bought by Microsoft would make this a real-world possibility. While I guess I could get a dual monitor mac setup, with virtual PC running in one full window, I don't want to be tied down to expensive mac hardware that ultimately runs PC apps slow as molasses. On the other hand, perhaps a full screen VNC session with the mac from my PC would accomplish the same thing, and let me stay on the cheaper hardware.

While Apple and Microsoft would likely never want to co-exist on the same desktop, as a computer professional I would love to be in the position of being able to run the best tool for the particular job at hand.

update: thanks to input from various readers, this has been solved!

May 21, 2003

Robot make good design

This is what 1000 monkeys at a 1000 computers creating CSS looks like: StrangeBanana CSS demo. Be sure to reload a dozen times or so, eventually you'll get a good one or two.

May 02, 2003

Mozilla power users take note

One of the earlier mozilla betas (1.1? 1.0?) had a preference for disallowing any links to open new windows and I fell in love with the feature. Even after I upgraded the browser, the preference stuck on that machine, and I was disappointed to see it cut from future versions (I had no idea how to replicate it on other machines).

My reasons for not liking new windows are many, but in short: I don't like unexpected behavior that breaks my back button and reduces any organization I have set up. I have a middle mouse button I use to open in new tabs, which I use often while reading blogs. When I click a link on a blog without a tab keystroke or mouse modifier, I expect it to replace the window I'm viewing and dislike it when it pops a new window.

I'm a power user and am quite comfortable memorizing a few keystorkes, but I'd say casual or new users are just as confused by new windows popping up indiscriminately. I've watched family members new to the web surf and ask "where did that story go?" or "what is this? how do I get back to where I was?"

Well, this post at Blogzilla tells you how to suppress new windows with just a couple simple clicks. It's simple, powerful, and easy. Thanks for giving the user the ability to control this, mighty mozilla.

April 15, 2003

Swiss army knife for developers

I've only had it installed for the past 30 minutes or so, but I can say without a doubt the PNH Developer Toolbar is a must-have for mozilla users that build websites.