March 8th, 2010
Build web apps like you were going to franchise them
One of my favorite small business books is The E-Myth Revisited. It’s a small book, but pretty heady and introduces some great ideas. One of my favorite ideas is that you should build a business like you were going to sell it as a franchise. Even if yre not going to, it makes you think about efficiency, the re-usability of any moving part, and to look at the whole thing without you being present.
I realized this week that we can apply the same principle to building web apps. For a while now, as I build sites, I look at any functionality as a potential library or separate web site. This is 37Signal’s Sell your By-product idea, but taken one step further and think of each idea as a business idea.
This makes me write cleaner code, do things the right way, take time to abstract things out, and comment better. All this with the idea of making the best possible product (both for the customer, and for the business owner), and that other people will be seeing and working with my code, probably without me being there to explain it.
Tags: 37 signals, E-Myth, franchising, Michael Gerber, signal to noise, svn, ways to think
Posted in general | No Comments »
March 1st, 2010
Lessons I’ve learned: Never delete anything.
I have learned a very hard lesson.
The quick version is that I wrote a bit of code that, instead of deleting a single record from a database, cleared the table in the database. Yeah, oops. And this script was tied to a button that any user of a web application might click. While this might sound like a great subplot to Lost, it’s terrible for a web site.
Twice. People clicked it twice, and emptied all of our data. I was able to restore a backup once. We lost a lot of hard-earned information.
We all write bad code. Why I’m truly kicking myself is that I elsewhere in the application I’d been using Active/Inactive flags (“Click here to delete this item” marks the “Active” field to 0. “Click here to restore it” marks the “Active” field to 1.) rather than deleting records. I should’ve done this for all of my tables. Why I didn’t was a snap decision while coding, and of course I now regret it.
So I’m determined to never delete anything. Or overwrite it without a backup. For example, in another web app that writes XML files, I’m copying the existing files to a folder with a time stamp before overwriting them.
People talk about how cheap web space is now, and how fast our server are. There’s no reason to ever get rid of data. This holds true for building web apps.
This is a new “best practice” for me. I keep a short list of rules so I will never make this kind of bad “quick decision” again.
Tags: best practices, data recovery, database design, deleting database records
Posted in Lessons | No Comments »
February 15th, 2010
Do politics play a part in the services you pay for?
When I first heard about Mozy a few years ago, I jumped on it. It was great. Since then, I’ve found their service has slowed down, and makes my computer run slowly.
So recently I tried out Carbonite and really like it. It probably isn’t any faster, but I like that I can see what files are backed up, and it doesn’t seem to slow down my computer. So I switched, and as I write this, 43% of my 137Gb of data is backed up.
But then yesterday my girlfriend showed me a funny clip of Glenn Beck (as in, he does his thing and we laugh at him). In the middle of his rant, he does a plug for Carbonite.
My jaw dropped. It’s probably a smart demographic to go after, and I guess I take it for granted that tech companies are generally going to be liberal. But it hurts. I do not like Glenn Beck, and do support most things he does. Why should I support companies that give him money?
Now I’m honestly conflicted. I know it’s “just business” but I do my best not to support companies like Walmart that I think are not doing good. Do I keep using Carbonite?
Do you let politics influence whether you hire/pay for services?
Tags: back up services, blue companies, caarbonite, glenn beck, mozy, politics
Posted in general | 1 Comment »
February 9th, 2010
Using an uptime monitor
An uptime monitor is a service that acts like a visitor to your site to check if your site is up. You can schedule the service to visit your site as often as you like. I find five or ten minute intervals to be comfortable without using a lot of bandwidth.
They hit your site and notify you if it’s down. Depending on the service you can get an email or SMS text message when your site goes down. They use different servers around the world and can also tell you how fast your site is delivered.
It’s reassuring to know if your site down and start doing something about it. Don’t count on your hosting company. I recently had an issue with a site being unavailable, but because it was a network issue and not a server issue, my hosting company wasn’t aware of it. My monitoring system notified me and I was able to create a support ticket immediately.
I highly recommend pingdom.com. They offer a free version that’s everything you need.
Tags: maintenance, notification, offline, pingdom, uptime, uptime monitor
Posted in general, link | No Comments »
February 1st, 2010
I will be moderating the panel on Designing Social Websites at Ultralight Startups this Thurs, Feb 4, 2010
This Thursday is gearing up to be the biggest Ultralight Startups ever. If yre not familiar with ULS, it’s one of New York City’s best meet-ups for small business start-ups. It happens every month and always proves to be useful, educational and fun.
The next meetup is Thursday, Feb 4 at 6.30PM. This month the panel will discuss Designing Social Websites, and features some heavy hitters. I’m pleased to announce I will be moderating. For more details including who’s on the panel and to register visit http://ultralightstartups.com/newyork/social-design.html
So I need your help! What questions do you want me to ask about integrating social features into your website?
http://ultralightstartups.com/newyork/social-design.htmlDesigning Social Websites
Tags: interaction, meetup, panel, social web, uls, ultralight startups, web design
Posted in general | No Comments »
January 26th, 2010
The difference between a website and a web application
The phrase “web app” is second in my vocabulary now only to to the word “cool” or “like”. I’m a little obcessed, but for me, having the web full of “web applications” is a culmination of why I became a web designer and developer.
And because I’m “in the web space”, I hear the phrase “web app” a lot, too.
But then a friend asked me, “Is a web app like a web site?”. And after a few minutes of trying to explain, I retired to my secret lair to spend a little time writing about how I see the difference.
To most people, a “web site” is an umbrella term that encompasses just about anything you see in a browser. Most people are familiar with it like that. But I think of it now as a site that’s static, informative without being interactive. If yre a nerd, you’ll say “Web 1.0″. Information like product information, resort brochures, a musician’s landing page. To think of it in terms of marketing, a web site like this is all about the site owner. Here’s my web site telling you about me.
A “web app” on the other hand, is all you, about the user (sorry, I know we’re not supposed to use that word anymore) and interaction. It doesn’t have to be social interaction, just the user interacting with the web app. It helps you accomplish a task, which could be managing my finances, interacting with friends or as simple as finding information.
I would consider most web sites that have more than a basic search to be web apps.
What do you think? How would you differentiate the two?
Tags: semantics, web appliations, web apps, web sites
Posted in general | No Comments »
January 19th, 2010
Allowing multiple, simultaneous downloads
In building DubFiler, I had to learn all about downloads and browser behavior. Browsers usually only allow two downloads from a server at once. Which meant if I started downloading a file while another was downloading or “streaming” (being downloaded by the Flash audio player), the page would hang. Not a great user experience.
After some digging around the web, I found the solution. Browsers consider subdomains (anything.dubfiler.com) another domain, so you get two more simultaneous downloads. People use this for faster image downloads, but it works great when yre downloading other files, too.
So I just created subdomains pointing to the same domain – images.dubfiler.com just points to dubfiler.com. There was no noticable server hit, and browsers will download more files simultaneously. Hope this helps.
Tags: browser hangs, file downloading, simultaneous downloads, subdomains
Posted in general | No Comments »
January 11th, 2010
Can Balsamiq’s Mockups work for an enterprise site?
For the last few months I had the opportunity to use Balsamiq’s Mockups on a really big client. I had to create wireframes for about 80 web pages. At the high point, I had open more than 40 wireframes. Here’s how it held up.
Mockups is an Adobe Air app, which can be buggy, but I find Mockups to be fairly stable in Windows XP. It got a little slow, but performed well.
I love that Mockups assumes you will be working with lots of files, with options like “Close all” and “Export all”. What a time saver!
My only complaint is there is no functionality for includes. Since this was a web site, every wireframe had one of two headers (“logged in” and “logged out”). I created groups for headers so it was one copy and paste, but that’s one per file. I would I love to have been able to update a two files and have all my wireframes change.
So over all, it was great. Performance was fine and it made my life easier. Don’t think you need an “established” product for doing lots of wireframes. Balsamiq continues to rock my world.
Tags: balsamiq, big project, enterprise, large site, mockups, wireframes
Posted in general | 1 Comment »
January 4th, 2010
Four productivity apps I swear by
I love tiny web apps that are 100% utility. I try to build apps like this because I think it’s one of the biggest values of the web. Get out of my way and help me get the most out of the work day.
Here are four apps (web based and not web based) that I use often:
RescueTime.com – You run a little app that monitors your activities, and then generates reports. It’s definitely insightful!
Tweetminer.com – Post web content to your Twitter account.
GetItDoneapp.com – My favorite GTD app (while I work on my own)
mite.yo.lk – I tried every time tracking app I could find. This one does less than all the others, and that’s why I love it. I use it to track more than work now.
And here are a couple I can’t wait to try:
GetConcentrating.com – A super simple little app for OS X that forces you to concentrate on the computer.
TeuxDeux.com – SwissMiss designed a great looking daily todo list. I’ve signed up, it seems awesome. I just haven’t incorporated it into my life yet.
Posted in link | No Comments »
December 28th, 2009
Google browser sizes
Google has introduced one of their best tool ever. It simple shows you what percentage of people will see what percentage of your web page. So simple, yet so crucial.
http://browsersize.googlelabs.com/
Posted in link | No Comments »