SMICK.NET | Website of Mike Smick Graphics and Web Developer

In-Browser Temporary Editing for Screenshots – Bookmarklet

If you ever need to make a webpage screenshot to show a UI change, or maybe just mockup purposes, a nice way is to utilize the browser bookmark toolbar and a script that enables Content Editable property on the body of the web page.

When you do this, you can click around the text and start typing. Things like button text, table, paragraph copy will start to change.

Drag the following links to your bookmarks toolbar (make sure it’s showing on you browser (View > Toolbar > Bookmarks)). The first link enables text editing, the second link disables it again. And if you need to scrap your changes for some reason and redo them, just hit refresh on the page, it will reload to the state it was in.

Make HTML Editable

Turn Off Editing

Once you get your changes right, you can take a screenshot or print the page and your changes should remain for those purposes. I imagine this tip helping project managers who want to show a developer how a task should be completed but have struggled doing so using graphic software.

December 2, 2015 at 11:28 am | design, webdev | No comment

Slack Alternatives

Recently I was on a team that used Slack for communication. I think it serves as a postitive force in many technical and complex environments. Though just like email and every other tool including the telephone, users  and managers of said tool must be aware of misuse and allowing things to get out of hand. Productivity, focus and a balance of work and home shouldn’t suffer by adding these kinds of communications tools.

I like when open and commercial alternatives crop up, free or not. It means that a mainstay app like Slack needs to keep up, whether it be on performance, openness. And it also means that the forks of of the open source alternatives can mesh into efficient tools for teams and individuals.

So if you work on a team and don’t use a communications app like Slack and find yourself overwhelmed, at least take a look at it.  And if you already use slack or are debating so, take a look at these other alternatives.

Mattermost –

Mattermost, which reached a stable state recently, is a self-hosted solution for bringing all your team communication to one place, and making it searchable and accessible anywhere.

Zulip –

Zulip is a powerful open source group chat. Feature-wise it has drag-and-drop file uploads, image pasting, group private messages, audible notifications, missed-message emails, desktop apps, and everything else you might want.

Matrix –

A little less obvious, Matrix is an open standard for interoperable, decentralised, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication – or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history. Looking at the site you find that it is less of an app and more of a collection of projects.

Glowing Bear – –

Glowing Bear has that look of IRC, so it won’t wow you with features like Zulip or Mattermost, but it’s going to have direct communication and speed handled. From their Github page: Glowing Bear is a web frontend for the WeeChat IRC client and strives to be a modern interface. It relies on WeeChat to do all the heavy lifting and then provides some nice features on top of that, like embedding images, videos, and other content. The best part, however, is that you can use it from any modern internet device.

Thanks for taking a look. Let me know @michaelbuddy on twitter if you find these or another alternative helpful.

October 14, 2015 at 11:58 am | business, computers | No comment

Do more, faster

Last month a video was shared with me about this young man from Colorado named Easton LaChappelle who during high school taught himself programming and electronics because he was inspired to make something cool; A robot hand that could be controlled with a glove.  At a science fair he met a young girl who had a prosthetic arm that he learned cost about $80,000.  His hobby of cool became a mission. Through connections over the internet, learning 3D CAD modelling he kept persisting and iterating using all the methods he could as fast as he could. The evolution over such a short time is awe inspiring.

Easton is really an inspiration. He’s 19 and lives a life of curiosity and selflessness outside boundaries. Enjoy!

The video I originally watched about all this was shared on Facebook shared by a friend.  He makes a very special announcement at the end of it. Easton’s company that he founded at age 17 is called Unlimited Tomorrow.

February 11, 2015 at 3:58 pm | 3D, computers, gadgets, inspiration, interesting, learning, philosophy | No comment

Pro tip for Tax Time – download full report of items purchased from Amazon

Tax time yay!  Man, I always forget things I’ve bought that relate to work. It’s been a year for g’s sake. I’ve started scanning receipts ever since I got my little Doxie scanner. But wherever I archive those isn’t going to be the same place my online purchases are found.  But I recently found from digging for an old order of a product for warranty return that Amazon has some very nice tools for getting your purchase data archive.

You can get an archive download spreadsheet quite easily, once you log in:

Go to Your Account > Your Orders > Order History Report

Fill out the start and end date (it goes back up to 10 years too!).  After a few seconds your report will be ready to download. It will be a .CSV which can be opened in Excel or other spreadsheet software, or even a text editor.  Looking for that equipment you bought for tax deduction? Just search on the spreadsheet (Ctrl+F / Cmd + F) for “Shelving” or “Laptop” or whatever it was.  Excel will take you right to it. All the order numbers, dates pricing tons of info, all there. Screenshot below.  Now on to the tax deductions, Blech…


January 27, 2015 at 11:45 pm | business, computers, gadgets, interesting, media | No comment

If you’re complaining, you’re losing

Many years ago, and yet not that long ago, this guy Lawrence Lessig gave a talk on the free software / creative commons movement.  He is a lawyer and works on all kinds of initiatives, government corruption most recently. Back then he was speaking to elite coders and hackers about how corporations do and always will try to lock up ownership of the future for themselves. “The past will always try to control the future” I think was the statement. (Here’s me asking you to verify it so you go off on a tangent that leads to enlightenment.)

Another quote from that talk, Lessig mentioned a politician friend who he worked with in those movements against corporate culture control.  “If you’re explaining, you’re losing.”  Meaning that to get your point across within a group of politicians, stakeholders or a courtroom, once you find yourself explaining, there’s a good chance you’re not reaching them.

Think about that.  How does one make an impression and convey information without a transmission of facts or reasoning to the listener? The answer is you have to find a way that rubs off like a stain that was always there to begin with. People should be walking away thinking that’s what they believed in the first place, you only reminded them.  Drawn out details will of course work sometimes for some people. But look at it this way, the reason you’re talking about something you’re passionate about is because your aim is to reach the hearts and minds of everybody in the room. So your strategy must adjust for those daydreamers or those with raised brows and folded arms etc.

Today I had this thought on the train ride to a meeting about how I deal with things. “If you’re complaining, you’re losing.”  Because although complaining can let off steam, if you’re complaining to others, you’re losing them, wasting time, reminding them and giving them permission to spread their own complaints. You’re also making your ego worse.  Because you’re just  repeating and solidifying your attachment to expectations, burning that into your mind once again. The demand that what should have happened didn’t happen.  And frankly your ego, or your management of your ego isn’t getting any easier with that kind of mindset.

Sure blow of steam when you need to, try to adjust it towards a constructive means of self-talk. Whatever that energy is that needs to be released don’t let it affect your future self. Letting go of expectations, attachments is a path to being happier while working through outcomes that aren’t as pleasing as you wanted.

Now you might say, “Mike all you’re doing here is explaining this, breaking the ‘rule’ as you reveal it.”  Yes that’s true.  But like I say in a lot of my journals, I’m mostly talking to myself here. 

January 6, 2015 at 12:16 am | inspiration, learning, philosophy | No comment

False Nostalgia

I ran across this piece of writing at the Huffington Post:  I Miss the Village.  The attempt by the author was to lament a loss of community, but it comes across as a false understanding and a potential call to action was wasted.

I miss the village I never had. The one with mothers doing the washing side by side, clucking and laughing hysterically, tired in body but quick in spirit. We’d know each other so well: annoying one other from time to time, but never staying mad long because the truth is, we need each other.

washing-clothes-river-philippines-nostalgiaYes the same village where 300 people share a water basin and risk of deadly flu, cholera outbreaks, black death, etc. at any moment. I can’t stand selective false nostalgia pieces like this.

I consider myself very lucky never to have had this life.  Despite how it may feel, a sense of community is always at people’s grasp. But if anyone disagrees, and they want this fiction, plenty of villages exist around the world where everyone knows your name and you can do the washing in the contaminated creek/sewer. Where people spend so much time on repetitive activities that they never get above water to solve bigger problems, because they can barely fend for themselves. Where superstition is rampant, and lack of access to education and medicine.

The photo I’ve included here is misleading too. It’s present day Philippines, where this idealized location with a beautiful waterfall and kids playing. Most people don’t live by a source of fresh running water, and even if they did, there’s always somebody upstream putting something into it.

If you’ve ever washed and dried your clothes outside (I have many times) you can’t quite get that comfortable in a shirt that’s been drying in the humidity all day.  It’s crusty and wrinkled and never really smells clean. The author is correct, you do it because you have to.  Well, I’m glad I don’t have to. I’m glad a system is in place where I can attain mechanical and electronic tools that I could never make on my own has been designed and fashioned and shipped to a place that I can purchase it, even on a low salary.

People from that long ago would gladly trade places with us for our access to food, education, supplies, and abundance in general.  It’s true that many of us have squandered our abundance and broke away from our community, to the point where we might not even percieve it’s still there. We’ve bought into the 9-5 rules made up by richer people, we’ve upgraded our automobiles and forgotten how to fix things and ask for and offer help. We’ve taken the easy and cheap way to do things and caused damage and pollution and hardship for the future generations. Still I wonder, why would anyone dwell on a fictitious past?

The other cliche I often encounter in writing and from people, “Oh I long for the days when you could let your kids walk on their own without fear” People seem to think it’s because of the breakdown of community. That you don’t know and no longer can trust your neighbors and those who lurk in the woods.  Maybe partially, but no, you can’t let your kids walk on their own because they will get murdered by a 2,000 lb car at any given moment. A car that somebody sleep-deprived and angry is driving to get to and from job they hate. Somebody who forgot how to regard and pay attention because they can’t seem to get distractions of earning and attachments of possessions and lack of free time off their mind.

Today , we have more choices than we’ve ever had but haven’t attained the courage to make them. You need a lot of courage to trade one lifestyle for another.

We’ve traded a communal task environment for a complex machine that can do 1000% of what we need to survive and thrive. A machine that can provide us with amazing things, created mostly by people we don’t know. But a lot of us haven’t quite been able to grow up inside this massive cooperative environment and learn to feel satisfied and balanced within it.  In other words, even with the best grass the world has ever seen, somehow it must have been greener 200 years ago. I can say that, and I can say this:  If anyone want community and a sense of well being, they have to look first at how they are helping and interacting with others, what actions they are taking at any moment. Because community and friendships are only a conversation, or an invitation, or a kind gesture or a favor away from our grasp.

July 23, 2014 at 10:21 am | family, inspiration, nostalgia | No comment

My thoughts on website animations

Everyone seems to want animations these days. And they usually don’t realize how much more expensive it can get. Animation has its place on the web and finally we are creating experiences that we have dreamed of being able to do. But at the same time, I can’t help run through my mind a series of questions when animation starts getting hairy as part of a project where it has no business being, whether for ROI or being in the budget in the first place. The biggest question with animation is, if it’s easy enough to be cheap, is it worth doing or has everyone already seen it, making it just white noise.


Upon multiple viewings, does it become something you’re just waiting for?

Is it slowing performance on any device?

Does it make editing your site more difficult?

Does your audience care that something moves around?

The sun will eventually burn out taking all of humanity with it. Knowing this, will you still care about spending money on the animation?

Is it a commonly used trendy convention (played out?)

Is it your idea, or was it somebody selling it to you?

Does it likely score you more business?

Does it pull the eyes away from other important messages?

Does it make your offering look more expensive?

Does it help get point across?

Is it impressive (to people that actually matter)?

February 16, 2014 at 7:55 am | design, graphics, webdev | No comment

Some thoughts on SaaS projects and pricing

There are a lot of web services out there that impress me. Some I’d really like to commit to but I simply can’t justify the cost. It may benefit me to have but I just can’t make myself pay money for it against what I feel is a proper price. I think the pricing structure on many of these new services is just off and becomes a turn-off for sole-proprietors. Because there is a lot of competition, it makes your product easy to ignore. The trend of $29.99 per month a very common price for SaaS products. Things like SaaS accounting or enhanced social media tools and bulk email software show that trend. I’m starting to see $39.99 as a base price too. I think some of these programs can become deeply ingrained in the workflow of companies. And some find their service uniquely meeting their needs. So big deal on the price right? Well I think it’s fair to make a few comments on pricing and SaaS trends in general from a perspective of a small business owner.

  1. Your name doesn’t mean diddly to me once I’ve evaluated your service. I know you needed a funny name to capture me and the attention of media and the heart of the public at first but it ends there. The service is either strong or weak. And the more “creative” the name, the more silly I may find recommending it to others. (e.g. GIMP). If your service is disappointing and you’ve associated it with baby mongoose well then congratulations, I now hate baby mongooses. (mongeese?) Whatever, just don’t overdo the name. I’d rather have a boring name and be rich than any alternative really.
  2. When you base your pricing directly on your competitors and other Saas projects, or in general follow trends, it’s obvious and annoying. I realize imitation is like an economic model, but a lot of us think you simply have no clear way of justifying anything. I realize that I may be hard to please and others buy into the trap more easily, but keep in mind that when you compare yourself to others, you also have to react more often to others. So if your competitor that you worked so hard to match drops their price, where does it leave you if you based everything so closely on others.
  3. I’m seeing 7 and 14 days trial are common and “Sign up Free” button next to that, as if you you think that’s somehow incredibly generous. Now I realize you read a blog post somewhere that said that was a cool way to get sign ups. But once again you’ve helped me conclude how unimpressive you are at this. Here’s a hint for you: At companies large and small, nobody has any time to evaluate something properly and share their thoughts and get feedback in just 7 or 14 days and be able to do a demo with everyone. Even 30 days still looks like you are stingy idiots. All of us evaluating this crap (I mean your really great offering) know that it’s costing you barely pennies to have our account folder created. All the communication is auto-generated so when you put a 30 day limit on this it just sounds artificial and arbitrary and lacks confidence. Instead why not give me three months to evaluate the software. Let me have enough time to make a decision among my 5 stakeholder colleagues. And what if I get everything done in that 3-month period without paying? Well if that scares you, it sounds like you need to kill off free trials all together. Because I know plenty of people who can complete the same project in seven or fourteen days that others would stretch to three months. Someone can always game the system. I think this comes down to confidence and actual worth. If your service is more of a one-and-done kind of thing maybe a monthly fee isn’t really appropriate and you need to view it that way.
  4. Take a look at Turbo Tax and TaxCut. Nobody likes paying for tax software. But we do it. And we sit on it for months, finally use it for 2 days and then it gets binned till next year. We paid maybe $30 or $99 for that and it’s something we could have done essentially for free on paper. I’m not necessarily praising Tax Cut or Turbo Tax because I can’t get over the fact that the IRS doesn’t have it’s own legit tax wizard software. And that we pay less for submitting (paper) which takes more overhead on their end to bother with. Whatever. What I’m saying is just look at those models outside your industry especially those where everyone buys them almost like mindless drones. Find out what they might be doing right.
  5. Don’t act surprised that people want to self-host. Why not plan for it where you can make some real money from that option. Some companies really don’t like or have policies against having 3rd parties host their data. They may really love your offering and would use it except for that it can’t be self-hosted. They might even be more than happy to pay a massive sum in order to use your software in-house. And your fee structure could be wildly different for that kind of client. These clients might be trying to move away from some buggy Sharepoint install and replace with your service. They could be paying a consultant team $50,000 a year to maintain it. If yours is a dedicated service that requires less maintenance, you might still be able to make say $15,000 or $20,000 by having a self-hosted method, provide support that beats a more generalized consultant and everybody is happier.
  6. Have a one-project model. Not everyone is going to live in this software. Sometimes it’s just a piece of software you use for a phase of one project and then you get out. I realize that I could just unsubscribe, but I don’t want to deal with that chance that the project gets postponed in the middle and then resumes 45 days later and this fee is just another detail to worry about. If I know that I can get this phase of my project out of the way by using your software and it’s gonna just work and not disappear, I’d be comfortable choosing your service. Did you all forget that people pay for peace-of-mind? Well start remembering because that’s really the point of software, to make the details easier to deal with and give us a comfortable workflow that matches our brain better. People might prepay for the software, use it actively for 2 months, would like it available but uneditable for 14 months and afterwards completely deleted. Account for this, make it easy for us to pass costs to our clients in a predictable way.
  7. I look at the number of users limitation on Saas products and again it just looks artificial. Artificiality breeds mistrust. Think about it. because I have four people I have to pay 10 times the amount because I’m suddenly an enterprise customer? The thresholds simply aren’t generous or realistic enough for me. One user vs three users isn’t bogging down your servers. Smart customers know this. So why are we pretending that this threshold is meaningful. I don’t have an answer for this dilemma that fits every company but I can just reiterate that peace of mind and engendering confidence should be the goal. Arbitrary limitations do not engender confidence with me. Or consider this. Show me why a fourth person makes all the difference in the world and should double your cost and my price. Give me a page that explains why four users increases your support volume so much that you have no other choice.
  8. Equal price for additional users doesn’t feel right. Although I can see in some cases it probably makes the most sense. It’s very democratic but let me just comment on this structure a bit. So if I have your program dedicated to a specific set of tasks my company depends on, I probably have a dedicated user for it and happily pay $XX.95 a month for her to get her job done. But I probably also have people who sort of buzz in and out to check on things just periodically. One one hand, I don’t want to set functionality limits on these secondary users, but they will use it so much less that the value isn’t as high for them. To me those users shouldn’t cost the same as the dedicated user and maybe should be considerably less. The upside is if it’s cheaper to add people to the account the more likely I’ll add more people and you might gain another $4.95 a month for three more users who logged in two times the entire quarter. This is another example of setting people’s minds at ease and reinforcing the reality that it costs very little to have an account on a server somewhere.
  9. If your website has default Bootstrap written all over it, and your app looks like bootstrap that’s totally fine with me. Absolutely fine to the point where if you’re getting complaints I think you should ignore them. Bootstrap can do most people quite well. Because it’s so common it also caches well and speeds everything up the more popular it is. It handes web app functionality and it’s a very cost effective way to do UI. Rather than a yawn, I’ll probably think you’re a pretty smart team. With that said, by using unstyled bootstrap also revealed that you’ve leveraged and saved money from open source software and I absolutely expect savings passed on to me. Can you see that there’s a distinction. That I expect a savings yet I’m not devaluing it? There is a real distinction there in terms of reputation. I actually think it’s very smart business. I use a self-hosted app right now that’s bootstrappy for invoicing. I like it a lot and I know that it can be modified more easily and upgrades and add-ons will also share that efficiency. It’s a good move to play in a lower-overhead tier. Because of that, I will not absolutely demand, but I will assume a better price. Keep this in mind and adjust accordingly. But be smart about it. Look at fast food. It’s very inexpensive and very profitable when you make efficient decisions. Software can be better because efficiency decisions don’t effect long-term health either.
  10. I wasn’t sure I’d get to ten, but here goes. Leave behind older browsers without shame but do your best to support all the latest ones especially mobile. Some things are available on Chrome that aren’t on Firefox and that bothers me because there’s cutting edge and bleeding edge. Certainly IE and Android and iOS and Opera make it pretty difficult task to support everything. Old browsers don’t really help you or your client base. And though I said earlier that you should support the idea of self-hosted installs and the opportunities there I firmly believe that older browsers hinder you moving forward efficiently. Moving to Saas offerings to me is a signal to progression. And the amount of time trying to implement something sophisticated such as a html5 canvas app backward compatible to previous versions of IE mean that the rest of us pay a lot more for your overhead to maintain a very small number of clients. As a result, features and fixes and mobile improvements don’t happen because the team is forced to focus an inordinate amount of energy to old stuff. With that said, if a product of yours worked on IE in a previous version, maintain that version for people and allow people to cross-grade smoothly if possible, but don’t continue to move backwards. If I’m stuck on IE8 for the next three years, I’m probably not used to change and improvements anyway so keep me on the old version that gets little to no upkeep. Consider scaling your prices accordingly too. If the old version gets 5% of the maintenance maybe the agreement needs an end-of-life clause and an adjustment to pricing makes sense. Use these old versions to leverage customers to upgrade to the latest browser and version of your system. Make it clear that an upgrade savings leaves IE8 behind and the benefit is a cheaper monthly price. Consider these options and don’t discount the benefit to transparency for things like this. If you need to change prices to support old systems or new upgrades, make it clear and transparent.

My last comment regarding Saas pricing is that no matter what you think about your product, it’s no where near as essential as email and reliable email can be had for $24 a year down to near zero. So if you’re not as essential and everyone falls back on email as the most dependable way of transmitting communication, how does that configure in how people will perceive your product’s value and what will convince them to sign up. I see this a lot. A product is useful and replaces email chains and attachments but it’s priced way out and the added hassle of getting everyone on board with logins is a brain hassle that we end up paying for when we can just fall back to email for the time being. Think about that.

January 12, 2014 at 12:43 pm | computers, freelance, rants, webdev | No comment

Here we go, some 2014 ideas

latin brain diagramResolutions.  I just want to take advantage of this arbitrary earth date as leverage toward lifting myself to a few new goals.  So here goes.


I really feel like I’m  missing out on my favorite type of creative projects because I don’t have solid footing in electronics.  What a wealth of great available cheap components for building inventions we have nowadays with the Raspberry Pi. And yet I shouldn’t be intimidated by some wiry hand drawn schematic.  Time to embrace what things might mean or just asking for help instead of letting the voice that says “You will never get this.” to run my future. So many great things to be built that electronics are involved. I certainly don’t need to know how to do all of it, but I need to get things started and kill off the intimidation. I want to solder components together to create something new even if it’s just a box with a button that makes a sound.


I can’t really think of a better way to keep a body working than to ensure all it’s parts are primed for flexibility. I don’t know much about all the levels of yoga, all I know is I want to do my stunt bike riding without inflaming the bones or ligaments or whatever is hurting me in my lower back / hips / upper legs. That and I think yoga probably has some other real world non-esoteric benefits. I also think I need to do a ton of meditation to keep my brain healthy and mentally awake so tack that on with this goal.

Design / Development

I can make a website look like anything I or my clients want for the most part. But I have a gap in my skills when it comes to building UI components. That being an essential part of dynamic sites and web apps, it is a no-brainer to be addressed. Whether it be some more gains in jQuery or jQuery UI or mastering the forms within Foundation or Bootstrap. Also, I have seen a few ways to create phone apps using some easily available and simplistic tools such as AppInventor. I really need to explore this more.  I think devices are a different way of thinking about sharing ideas and content and should be part of my offerings.  Lastly In my work I really want to have quick setup procedures so I can generate a new site prepped and ready to be worked on using my favorite methods.  And this kind of preparatory procedure makes projects more joyful to build from, due to the instant momentum. What am I waiting for?


This is only this far down the list because I don’t have an order other than my brains direction. My family really needs to get out more. We need to have fun shared experiences, more of them.  And I’m not sure if I’m just really satisfied in my life that I don’t seek out those weekend moments or I just don’t have a good imagination. What I do know is I want my kid to have good memories of his childhood, be that from going on really cool vacations or having a sweet treehouse.

My basement

My basement is a lot of square footage that isn’t really being used. And it’s big enough for my kid to ride his tricycle in easily. Why have I not taken the steps to clear the clutter and put in the lighting? I don’t know man, because it’s not fun. Time to get on this little by little. New light fixtures, carpet tiles, organized less chaotic computer parts and tools would be a huge accomplishment. My basement is sort of finished.  It has the potential to be a great place to hang. Right now it’s just an embarrassment.


I really need a set of ways to promote myself, my work… In a tasteful way. Because I enjoy helping people, the way to do that is to make sure that people know you can help them. But so far I haven’t had the comfort level of self-promotion. Many things just don’t feel like me.  And I need to find those ways.  Any suggestions, send me a tweet at @michaelbuddy.  I already share a ton of my interests on Twitter, but I don’t necessarily have a bridge to other areas.  I have an interesting relationship with social media. I don’t really care for a lot of it, most of the time, but I do want to enjoy using it more by seeing results from it. Otherwise it seems to be a big waste of time.


I have several projects not started. And I really like completing things. I didn’t really do any wood projects in 2013. I did some good ones in 2012. 2014 needs some of my unfinished ideas fleshed out. Because making pieces out of wood is awesome. It’s custom, it’s creative and it changes your environment.

Paperwork Woes

Anyone who’s ever spent time with me might know that I can’t stand paperwork. I actually really hate touching and sifting through paperwork and files. That’s just plain terrible for success in life. And I find dealing with even digital paperwork a big pain. This must be resolved. I seek to be a master of returned emails, quickly-billed side projects and early submitted tax forms.


I’ve done a little bit of drawing and doodling in 2013 off and on.  Where I used to have a lot of shoddy sketch entries in my daily todo journal, I flip through it now and I kind of like the scratch I’m seeing lately.  I think just because I have worked on some flourish to my writing in some cases. But who wouldn’t love a stack of used moleskine notebooks that look like a work of art to look back on.  The better they are, the more likely I would want to review them.


Many great books I have, I’ve only started. And while I don’t mind not finishing a book, I really think I’m missing out on some great chapters because I think I grasp a concept too early or get a bit bored with it. And restarting a book or chapter becomes a little painful as compared to an interesting YouTube video or Netflix movie. I don’t care about numbers of books so much, but I do feel a sense of accomplishment if I can finish a few good books I already have.

Seeking mentors

The past few years have taught me that mentors can be found all around me, both older and younger than me.  Time to interact with them more frequently.  A mentor to me seems to be a friend who you can discuss big ideas with and move forward on them. I’m also looking to be a better mentor to a few people if I can.  The quickest way to be something is to start seeing yourself that way in the first place.

Review and Reflection

I like the reward of moving onto the next thing but the truth is I really need to write things down and review them more. And to make this more pleasing to do I think will help projects get done because, while progression is a key to happiness, one can’t hold onto every great idea and those that are worthy shouldn’t be forgotten or swept away for the latest interesting thing. Looking back is ok to do. And seeing that process as a rediscovery might make that easier. Because when you look back you can still see something as new, because you look at it from a new moment in time.

Thinking bigger and executing

It’s important to think big. And execution on ideas is paramount to a life well spent. Whether it be writing that book or building that piece of furniture or making that relationship happen. And some good ideas are imperfect because they should be a little or a lot bigger. Fear and comfort zones or negative self-talk or a lack of models all get in the way of many great things happening in our lives for the benefit of others. Each idea I have evaluated as sound need a real go and one of the first thoughts is, can it be bigger.

January 1, 2014 at 7:00 pm | inspiration, philosophy | No comment

Ways of organizing your CSS to achieve flow

Could you be writing your CSS better? I’ve been thinking about my project flow lately and noticed there’s a lot less flow and a lot more rework than there should be. I think that’s because I’m always trying new things. But I suffer the consequences of not establishing consistency and clarity. In this post, I’m talking specifically about how you wire up your main CSS file. When I talk about organization here, I’m talking about categories inside that css, so it’s easy to traverse. I firmly believe it can help speed up development and improve everything.

CSS Comments

This is how you can create categories. Write CSS comments out so they visually look like category headers.  Example:

/* ========   This is a Category Separator CSS comment   ========= */

Everything under this comment would be idenfied with it as a category.  I’ve made a lot of variations on this type of header. I’m not sure what  you like but using special characters appears to work well. I like Equals signs because they create a thick obvious border.

Categorize by function

What are the bits of CSS affecting?  Consider that if you are covering font changes, you can group all your typography under one header. So when you make a font change, presumably that section will be easy to find and less stuff to read through. Same for layout. Are you changing the padding for one or more divs? Put it under the Layout / Div category.

/* ========   Reset (if applicable)   ========= */

/* ========   Colors   ========= */

/* ========   Typography   ========= */

/* ========   Layout / Div   ========= */

/* ========   Misc classes   ========= */

Categorize by task / override

CSS means Cascading Style Sheet. The cascade is like the waterfall down a multi-level rock formation. The code described at the top, falls all the way down. So the global rules you put at the top. Underneath that, you continue with the exceptions to the rule, going from genral to specific. You can think of this and how your project is built. The template will have some standard things, and trickle down to the very specific. Some changes might only occur on specific pages, while others only occur in a single spot on one page and never again.

/* ========  Base (styles every page)   ========= */

Things like the menu bar, the header maybe (unless it will change in appearance leveraging CSS)

/* ========   Site Section Level changes   ========= */

/* ========   Specific Page Styles or Overrides   ========= */

/* ========   Occasional Styling   ========= */

/* ========   Minutiae (could almost be used inline but decidedly better here)   ========= */

Categorize By Visual Areas

This one is really common for me, but I grow it organically for each project rather than commit to specific labels each time. I’m not necessarily sure how not to do this in some respect on projects because my brain thinks this way.

/* ========  Body  (A few type or color global values )  ========= */

/* ========  Header  ========= */

/* ========  Navigation Menu  ========= */

/* ========  Content / Main  ========= */

/* ========  Gallery  ========= */

/* ========  Sidebar  ========= */

/* ========  Footer  ========= */

/* ========  Misc. or further addendum ========= */

I just want to point out this last Misc. section I also would add things like classes that the WYSIWYG editor uses.

Collaborating with Others

If you work alone, you benefit from being able to drive standards 100%. If you work with others, you want to best conform but also to discuss and agree to ways to do projects. Mostly it will come down to cross-training.  A lot of developers do quick and dirty CSS while fixing the widget they are working on and unfortunately never go back to clean it up.  This behavior will go on and it just needs to be repeatedly trained.  Ongoing project improvements and maintenance require some attention to details.  When you put things in categories a benefit you’ll find is eliminating redundancy. When everyone is referring to the same codeblock of CSS for edits to the base or header or typography, there’s a good chance they will see the previous entry for that class so it won’t be repeated.

When you work in a version control system you can see who added what to the code, but whether or not that’s the case, consider this. Some changes might be best identified near the code itself.  Let me give a quick scenario.  Let’s say you are a 3rd party agency taking on a new section of the site.  Your front end dev may not have a couple days to get a full understanding of the site, and all the current or outdated pages under the hood. Your task might be to build a certain landing page page in the CMS. If you have say 4 hours to work on something while the main developer is on leave. Instead of meddling with the code, create your own section.  If it happens to break some outdated legal page, at least your code is easy to find.

/* ========  Edits by Open Ground Co (for x landing page 11.30.2013) ========= */

Another variation on this, if you happen to need to make a fix to an existing line, consider a quick comment after it:

.classname {padding-left:-1.2em; }  /* == OG edit 11.30.2013 == */

These variations and tips are attempting to say the same thing: “Begin with the end in mind.”

December 1, 2013 at 12:36 pm | computers, CSS, design, freelance, Front End Development, graphics, webdev | No comment

Next Page »