The Design Dilemma

I really like creating awesome website designs. I am consistently amazed at what css can do now that it couldn’t do 15 years ago. When I made a website in high school (circa 1998), I spent hours putting little bevels and drop shadows on my buttons. That was when CSS was this fancy extra thing that seemed like way too much trouble to bother with. Now a few extra lines of code and gradients, drop shadows, and even circular buttons are easily done with zero photo-shopping involved. It is really amazing, but I also love the process of figuring out the logic of working out the back-end.

On my final project I was most proud of creating my own search engine for our app that searched our database by geocode (latitude and longitude) and returned all the results within a ten mile radius. Of course I didn’t create the actual function that calculated area of a circle from a specific set of coordinates plus a radius, and then looked for lat/longitude coordinates that fell within that range, but I know I could have. I took two semester of geology and the physical geology class involved a lot of work with maps and lat/longitude coordinates plus geometry has been one of my passions since I was a kid… so yeah I could figure a range of latitude and longitude coordinates that fit within the area of a circle on a map.

I love that stuff. I love figuring out how to create sophisticated search queries and return only the desired results. I love that exact sort of problem. My dilemma is what to focus on.

Visual design is great, I already have reasonably good skills and experience doing it, and I have already had one job that I loved, doing exactly that. The downside: the difference between good designs and great designs is often just subtlety. Take a look at one of your favorite websites -WordPress for example. It looks like a pretty simple design. But check out all the subtle effects that someone had to put there. Subtle borders on each box, a very subtle gradient on the “publish” button, a soft-drop shadow below the top bar, the hover effects that occur a little slower than most, the single well functioning drop-down menu. It’s all stuff I could do, but the hours and hours of tweaking and subtle changes I would have to do to get it just right, well that’s the trouble.

I was raised in a family of artists and I have a great eye for creating graphics and taking good photos, but I am constantly in awe of what I see on just basic website designs these days. It’s gotten so zen. Gradients so subtle you wouldn’t notice if you weren’t looking, show up as hover effects in my gmail account. Ever-so-slightly rounded corners, here, there, everywhere. Css animations controlled by milliseconds, because even though most people aren’t going to consciously notice, we do notice subconsciously. That sense of a site being just “thrown-together” by some internet-marketer or spammer versus the professionalism of google, wordpress, and facebook is all in the subtlety.

So maybe I miss the days when creating my own tiling brightly colored backgrounds for my geocities-site impressed everyone (mwa ha ha). It’s a little of that, but there is also the very real understanding for me that modern webdesign is about mastering subtlety, and I think I would rather master programming logic, and solve those interesting back-end challenges that require a thorough logical thought process, a little bit of pseudocode, and a few trips to google to figure out.

It’s a big dilemma for me. Geometry and o-chem were my favorite subjects in school because they required both logic skills, and the ability to understand problems in a visual way. I’m back to feeling like I have to pick one. I just don’t quite understand why a 3px border-radius makes a button look so much more professional than leaving it with regular corners. There’s got to be some logic there but what is it, and how do I anticipate it? I feel like I’m just copying. It looked nice when wordpress did it… so why not?

On the other hand, the stuff I have read about user interface design and user experience is the most fascinating and thought provoking material I have found on the internet. The potential for changing how people think, learn, and interact is kind of huge, and it all comes down to thinking about, and understanding the user experience -which brings in an understanding of learning, of human psychology, and of intuition. Dismissing UX/UI as an area of focus is like dismissing the open source movement in the 90’s as being a viable movement (lol – Linux, rails, and github have been my life-blood for the last 3-months).

So yesterday, I started re-working the design and user interface of my final project, today I started getting into the nitty gritty of how search engines work, tomorrow more css-sass, a few days ago I was learning regular expressions, and this week I want to add javascript functionality to a periodic table app I’ve been working on.

It’s fun, it’s fascinating, it’s invigorating, and the focus is long-gone.

Advertisements

Tonight’s The Night

Today is Career Day, which basically means we are demo-ing our final projects tonight. I’ve got that nervous/excitement that goes along with giving public presentations. Our presentation has been refined, but there are still so many things I would like to fix on our app. There are a few bugs that just showed up, our calendar is awesome and working, but the edit feature still has a few hiccups. I got our geocoder/google maps search function to work. So no more simple name search… we have a full blown geocoded data base search! 

I made a screen cast to demo the app in our presentation. The user authentication works great! But there is an odd bug on one of the account screens… oh devise, how frustrating you can be. That being said we have a user authentication system we didn’t have to build ourselves which is incredible. We just refreshed the layout and it looks a thousand times better, but there are still so many things I would like to add, adjust, and fix.

I was told yesterday not to bug-check anything else… no more fixing. If the website is up and working… let it be. So I am. No more tweaking, no more code… just letting it happen. We will be at capital factory tonight in downtown austin. It’s going to be exciting. 

My Awesome/Frustrating week

I have had and done some really awesome things this past week. I’ve also had massive frustrations. There was the struggle to figure out how to get user authentication to work correctly in my app. then there was implementing a google maps search, which is super easy if you are working with a single html page… not so much when you are working with a whole app. I tried three different methods including writing all the code myself. Ultimately, I went with the gmaps4rails gem which was not easy (very bad documentation), but it turned out to make more sense then rewriting everything myself.

I wrote a simple search engine that allows the user the type into a search box, this searches our therapist database, looks at the location attribute, and sees if any of the words match. Then it passes in the geo-coded locations to google maps and create markers on the map associated with each therapist returned.

It works! However, I need to fix it to search for geocodes (already in the database), and return actually nearby therapists. Right now a search for ‘austin’ will return any location with the word “austin” in it, even if it is a street address in Washington State. That won’t work so well for finding therapists in Austin, TX. So even though I am quite proud of having a working search engine that I coded myself, I think I may have to mostly scrap it.

Maybe I will set up options to refine the results: “Did you mean Austin Tx or Austin, ST?”

The other big problem was that after getting our user authentication set up with Devise, it still would not allow us to save all of a user or therapists attributes to the database when we used the new user/therapist sign-up and account-update pages.

It turns out, there was an extra configuration step that was needed specifically for those forms. Anyhow, got it working. Users can now add to our therapist and user databases, which then works with my awesome search function.

Awesome! So today I am tackling the Heroku deployment. The Beta version of Therapy Lane is coming soon!

MakerSquare Student Spotlight – Rebecca Sheldon, From Tweets to Tech

MakerSquare

Rebecca Sheldon 
An exciting aspect of a bootcamp is the fast-paced nature that you and your fellow students experience together. You bond quickly over similar experiences, both victories and failures. Rebecca Sheldon ventured away from LA to join us in Austin to be part of that unique experience. She’s looking to merge her passion for tech and problem-solving into a career in the tech community while inspiring other women.

Where are you from? What’s your professional and educational background?
I graduated from the University of Arizona, landed an entry-level job at a Social Media Marketing agency in Los Angeles and quickly tweeted my way into management. By working on campaigns for Royal Caribbean, Smirnoff, and other brands I was introduced to app design and development. Working with programmers to create smart, user-friendly, branded apps opened me up to the possibility of becoming a developer. 

What made you apply to MakerSquare? Is this…

View original post 343 more words

On “Chemistry”

Sometimes, I hate going down bumpy roads. I hate it when I can’t fix something or make an interaction flow better. I hate it when it is uncomfortable or awkward to work with someone who is hard to communicate with, or too much like myself (ha). 

That being said, the bumpy roads often lead to the best places. The prospects are more interesting, the people are often more engaging, and the end result (when there is one) is often something I would have never gotten to on my own. 

Once, I had a client that I felt like I had really ‘bad’ chemistry with. This does not happen often, but when it does I often ask them if they want me to refer them to someone else. In this case I didn’t. I just asked him how he felt. A few days later he called to schedule again. The session felt awful to me, like something just wasn’t lining up right. It was almost 5 months worth of weekly massage before I started feeling like the “chemistry” was there, but he kept coming back. It was actually stressful for me for a while. It was draining to work on someone that I felt like I was getting so little results from… very little relaxation… very little noticeable change. He was a regular client for two years and often told me how thankful he was to find me.

So if I had decided that all that mattered was our “chemistry,” I would have lost a valuable client and done a disservice to someone who was in need of a regular deep-tissue massage. 

It still amazes me that it worked out that well. 

Meanwhile, I once had amazing chemistry with a client. He was relaxing under my fingertips like magic… He was also amazed by the chemistry and decided to take that opportunity to do something incredibly inappropriate (no you don’t want to know). He did not get a second massage or all of his first one.

Chemistry isn’t something I rank high on my priority list when it comes to human interaction. It’s nice when it happens. If it doesn’t… try again. Maybe, you just have a few knots to work out, and if that person really thinks a lot different from you they will probably take you somewhere you didn’t expect -somewhere you couldn’t have gotten to on your own. 

The Post-Hack-a-thon bleh

I woke up today with a headache and a bad case of the “blehs…” I don’t feel energetic about anything. I want to. I was going to code all day. After having some difficulties with our hackathon app yesterday, I felt like I really needed to push forward. It was one of those times when we were working with something we had worked with before (devise), we went through each step again, felt like we fully understood it, and still made a ton of mistakes… still didn’t exactly get it to work. I read the documentation. I feel like I know more about that gem now than probably any other. I fixed the problem with strong parameters, the controller we thought we were missing, the accidentally duplicated model… dropped and migrated the data base many times, relaunched the server, went through the steps again…

Finally, I just moved on to working on something else. Then I discovered that there was a problem running postgres on my system that didn’t exist in the production environment only in development. I didn’t catch it before because I didn’t do a database migration until after I had deployed to Heroku… Oh, it’s there. I was up late trying to figure out how to change the settings without doing a full reinstall of postgres. The good news is after struggling with so many holdups on linux -massive memory problems, dozens of errors that involved extra troubleshooting and trips to stack-overflow- I feel fairly competent in troubleshooting just about any problem that can arise running rails on a Ubuntu machine. ::Gee, I hope that isn’t may famous last words… yikes::

So it was one of those days. The day of the not-quite. Nothing quite working, nothing quite lining up right, and today I feel rather ‘bleh’ about it all. Honestly, I was super confident about my skills until a couple weeks ago, now everything has started to seem like near misses.

I did ultimately get to work on my own project, and in a great group. Of course, I feel bad because my project replaced theirs, and I had already moved on to being excited about the lesson-plan app that then never happened. That was the reason for my issues last week. Two projects falling apart was a double blow that I just wasn’t ready for.

I kind of wish I could take a week for myself and do my own thing. My app went from feeling as precise as an arrow to the odd blur that often arises when working with a group. I had an organizational plan that I had to throw out so that everyone could ‘learn’ everything. I know that is important, but I still haven’t regained the focus I had hoped to go in with. I was more worried about being the person that rail-roaded everyone else than in the state of our progress. I realized at the end of yesterday that I was holding back a lot.

I didn’t dive in. I didn’t let myself get much of the super-focus that usually comes when I delve into something of my own creation. I don’t want myself and my app to be the thing that pushes other people out of learning and creating something of their own.  When I made the tennis emulator, back at the start of the course, I practically didn’t sleep until I finished it. I miss that, it’s so much harder to pull in that level of focus and enthusiasm while worrying about whether or not everyone is getting something out of it.

I know I shouldn’t worry, but my own experience is what tells me that the big picture is not just about the end product.

My Business Mistakes

I didn’t start my yoga/massage business until the math made sense, until my marketing plans made sense, and until I genuinely believed I could survive in the market I was going into. All of these things were important, but the most important thing came later. That is what many people who are fantasizing about starting their own business or writing an application don’t realize. There is a learning experience that happens. There is also an editing function that has to happen if you are going to stay afloat.I have noticed just how important this is when it comes to web development as well. It’s easy to look at a successful web app or even a startup and think: Wow how did they do that? How did they think of that? How did they make their business/product so great?

The reason for this is you are likely looking at the product of countless hours of work by talented people. Hours of tweaking, refining, trying out avenues that don’t work, and figuring out what does. That process is what turns a good idea into a successful company, app, or project. You initiate a process that involves continuously learning how to serve your clients better, how to make your features seamless, and how to make your marketing do more for less.

I think my biggest mistake in the massage industry was waiting too long to take those first steps that initiated that process. I wanted my marketing plan to be fool-proof, and my business to be as successful as possible right off the bat. Actually, our first marketing attempts were expensive failures. When our ads performed really well it meant we broke even for that month. At other times, it meant a big loss and a contract to waste more money on the same ad that wasn’t working for another 6 months.

It’s important to learn from your mistakes. It’s kind of impossible to not-make them.

So remember: Many of us get our foot in the door with a product that looks shitty and doesn’t work well. It’s the process of recognizing the problems and improving upon them that ultimately builds that amazing business. Fail upward!