Displaying posts from 2009 (Clear Search) Saturday, April 18th, 2009
Hello and welcome to my new blog. Just like everyone else on this planet, I've been meaning to start a blog for some time but I wasn't sure what to write about. Well, I decided to get started in the hopes that I can figure this thing out as I go.
There are four different types of posts I'll plan on writing until I find more direction. The common theme among all of them is that they should help me develop personally. I'm not sure if I'll end up writing anything that helps anyone else so I might as well make sure I help myself. Here are the topics: Critique
Everyone says hindsight is 20/20 but that's only true if you actually take the time to look back. I'm going to examine existing products and decisions and try to extract as many lessons as possible. Here's an example:
I know that I hate just about every piece of software made by Adobe (yes, even photoshop) and that I love almost everything made by Google. I need to figure out what Adobe does wrong and what Google does right so that I can try to incorporate those lessons into my own work.
StrategyEvery day I find myself having more influence over the decisions made at the company I work for. Unfortunately, I have almost no experience making business related decisions and I need a way to practice without actually putting my company at risk. The plan is to take real situations that companies are in right now and figure out exactly what I would do in their shoes. I'll never know if my plan would have worked, but I can follow what the company actually does and hopefully learn from that.
I believe that you learn much more from mistakes than from successes. My goal is to learn from other people's mistakes so that I can avoid making them altogether.
DemonstrationOne thing that I love about my job is that I get to work on all kinds of different projects which results in me developing a lot of new skills. I've found that if I need to do something I'm uncomfortable with, the best place to start is by copying someone else that does it well. Then I make it my own. I'm going to try to post these exercises on this blog.
For example, I do all of the graphic design for my company. I have no formal training in design so I have to learn as I go. I often know what type of look I want for a site but I don't know how to actually design something to look that way. In these situations, I find a website that has accomplished the look I'm going for and I try to make an exact copy of that site. I obviously can't use this as my own design, but I normally learn everything I need to by the time I'm done and then I can start from scratch with a lot more confidence, experience and knowledge.
I also regularly write stupid little web apps for my own personal uses. I'll try to make these available through this blog as I write them just to demonstrate the type of stuff I'm working on.
IdeasSometimes I have ideas for projects or businesses but I just don't have the time or expertise to pursue them. I realized recently that if you asked me to name some of these supposedly great ideas, I'd draw a blank. I want to record anything worthwhile that I come up with on this blog both as a way to record the ideas for the future and to help me think them through in a more structured way than I'm used to.
So those are types of posts I'll be shooting for. There will be exceptions of course, but I hate blogs that end up being online journals so I'll try to avoid that at all costs. Wish me luck!
Posted by Tyler King
Tags: PSA
0 CommentsSaturday, April 18th, 2009
I like to think of myself as a pretty good UI designer. Figuring out how to design a website that will give the users the best possible experience is challenging, but a lot of fun and well worth the effort. Having said this, it really bums me out when I realize I've made a really terrible user interface decision. I'll try to call myself out on all my mistakes, but here's a big one: making user interfaces too strict.
Just a couple minutes ago I decided to create blog entries for a bunch of ideas I have without actually writing the post. I thought this would help organize my posts. I filled out a title, left the body of the post blank and clicked the "Save Post" button only to get an error: "Body Required".
It's important to know that I wrote 100% of the code that powers this blog. My own software was working against me. I couldn't for the life of me figure out what I was thinking when I made the body of the post a required field. I quickly changed the code to be more flexible, but then I thought about all the other websites that do this type of thing.
I was trying to enter a new email address into my GoDaddy account the other day and it wouldn't let me use the plus(+) character. It's a perfectly valid character for email addresses but GoDaddy seems to think that it knows what email address I want to enter more than I do.
Another example of this can be found on Amazon.com which is a site that I generally really like. The U.S. Postal Service doesn't deliver mail where I live so everyone in my town has to use a PO Box. For some reason Amazon (and about a million other companies) won't ship to a PO Box. I'm paying them money. It seems like they should ship wherever the hell I want. The fix is to use the number "0" instead of the letter "O" when typing "P0 Box" (Amazon doesn't validate against that). But why is Amazon preventing me from entering perfectly valid information?
I'll keep my eye out for more examples of this, but just thinking about it has made me realize that I need to pay a lot more attention to giving the user more flexibility. Fields should only be required if there's a reason for it. Every time a user fills out a form and they get an error, it means that either they typed something incorrectly or the designer messed up.
Posted by Tyler King
Saturday, April 18th, 2009
A lot of my posts on this blog will talk about general concepts in the context of specific events. Most of my experience comes through my job, so that will be the main source of the specific events. I'll use this post to explain what my company does just so there isn't any confusion in the future.
I work at a start-up company in Park City, Utah called Zane Benefits. I was hired as a programmer and I still spend the majority of my time writing code but I've also taken over all of the graphic design duties and I'm getting more involved in project management and marketing.
ZaneHRAZane Benefits writes software that employers use to administer health benefits for their companies. This software is called ZaneHRA. Basically, when a company realizes that their current group policy is a complete rip-off, they go looking for other options. They find us and sign up for an HRA (Health Reimbursement Arrangement) which allows them to give a virtual health care allowance to their employees through our system. The employees go out and buy their own individual health insurance policies and they are reimbursed by logging into their ZaneHRA accounts and submitting a claim online.
There are a lot of reasons why this is a great system but I won't get into them since this isn't really the venue. All you need to know is that employers create a benefits plan with us and employees use our system to submit claims.
Insurance AgentsThere is also a side of our software that we're expanding really aggressively. After employers set up their HRA with us, the employees all need to buy insurance. We have an account that insurance agents use to sell HRAs and then fulfill the insurance policies of all the enrolled participants (employees). This is by far the most interesting part of the software from a technical standpoint because we provide the agents with all kinds of different tools.
Ok, so that's a brief summary of the company. I'll reference this in the future when I make posts about work. Posted by Tyler King
Tags: Zane Benefits
0 CommentsSunday, April 19th, 2009
I just saw this old post from 37Signals. Basically it's suggesting that when designing user interfaces we should reverse the traditional way of thinking. Instead of saying "I need to put something in the sidebar, something should take up most of the page and I need some options in the corner" we should consider what the user will do on the page. Turn those user actions into "bits" and group the bits together to make "chunks". Prioritize the chunks and place them on the page based on their respective priorities.
This is a great idea that I'd never really though of. I often find myself thinking "Obviously there will be a report in the middle of the page and I'll have to tack on other functionality around it". While this often results in the correct design, it's hard to feel comfortable about it because I never even considered anything other than the status quo. I don't think I'll ever follow as structured and systematic of a design process as the post suggests, but it's a great starting point.
I've always heard that 37Signals is one of the most innovative and competent design companies out there, but I hadn't really seen it for myself until recently. I used their Highrise application as inspiration for some design I did at work recently and, while not perfect, their approach really opened my mind up to things I hadn't considered before. I'll definitely pay attention to what they have to say in the future.
Links: An Introduction to Using Patterns in Web Design [37Signals Blog] Posted by Tyler King
Tags: UI
0 CommentsTuesday, April 21st, 2009
As any web developer knows, Internet Explorer 6 is one of the worst things on this planet. It ranks right between genocide and nuclear war for me. I want to use this post to think out loud about how we (developers) might be able to expedite the gradual adoption of more modern browsers. First, what's wrong with IE6 (and IE 7 to a lesser extent)?
Maybe you're thinking, "You're a web developer. It's your job to deal with this. Why should I care?" The answer is that if me and my kind didn't have to waste half our days supporting browsers that no one should be using in the first place, we could put out much better software. Web applications are years behind where they should be because we programmers can't actually use all the cool new tools available to us. CSS and javascript are advancing to keep up with our needs but we can't use the advances because well over half of all internet users are still using IE. This hurts everyone.
So what am I suggesting? Well, in a perfect world, every major website would just stop supporting Internet Explorer 6 and maybe even IE 7 too. Imagine if half of the world went to google and saw a page saying "Your browser sucks. Here are some links to free downloads for much better browsers."
That won't happen. OK, well the next best option would be for google to make a deal with Dell and the other computer manufacturers. The type of people using IE6 only use it because they don't care enough to change (or they don't know how). That means if all computers came with Chrome as the default browser, no one would bother switching back to Internet Explorer.
Hopefully this happens soon, but I'm not the type of person to sit around waiting for something to happen. So what can I do to help speed up the transition to real browsers? Well, I'm seriously considering disabling IE6 on all my personal sites (including this one I suppose). I might have fewer people using the sites, but I could provide a much nicer experience for the remaining users.
What I'm really looking for is something that I can do at work. A lot more people see the websites I make for my company than my personal ones, but it would be irresponsible of me to do anything that could possibly drive away users. So here's what I'm wondering. What happens if every single page has something at the top nicely asking users to switch browsers without forcing anything? Something like:
This site was designed to be used by modern browsers. You will notice better performance and more attractive layouts if you switch to Google Chrome or Mozilla Firefox.
Would this make people switch without driving away any users? I think so. The problem is that there would still be a bunch of people that don't switch and we'd still have to support those users. So this helps but it doesn't really fix anything unless the company is bold enough to tell IE6 users "tough luck" at some point. Small companies would be more willing to do this if a couple of major tech giants lead the way, but right now this couldn't possibly happen where I work.
There is one small thing I've been doing. I've been using css to round corners and style buttons, etc. These styles will work correctly in every major browser except for IE 6 and 7. Basically, the site looks nicer for people that aren't stuck in the stone ages. None of the IE users will know that they're missing out, but that's not the point. I'm no longer willing to hold back improvements that can be made without breaking IE. Instead of catering to the lowest common denominator, I'm trying to raise the bar for the browsers that can handle it.
Thoughts?
Posted by Tyler King
Tags: Brainstorming, Ideas
1 Comment |
More about me:
My friends:
Sites that I really like:
Paul Graham Essays
Academic Earth Mint.com Lifehacker The Consumerist Deadspin Turf Show Times Failblog Get Rich Slowly |
|
Blog |
Portfolio |
Resume |
Bio |
Contact |