What is perfection? Who decides what is perfect, and when does one know when perfection is achieved? Is it even possible to achieve? Questions, questions. This post is a bit abstract and blurry, but I find the subject interesting and worth discussing. If you do creative arts, may it be graphic design, web design, or UI design, it’s easy to strive for perfection. You tweak them pixels and sacrifice sleep in order to achieve the glorious word perfection. If you are like me, you value the details and want things done thoroughly and polished. You want to get it “just right”. But does perfection exist? It’s a bit abstract and perhaps read as a whimsy and irrelevant discussion, but yet …
Latest posts
I'm Johan, and I'm interested in interface design and front-end development. I freelance as web designer and developer, and study Software Engineering in Gothenburg, Sweden.
I code, design, and write. You might also want to read more about me.
Software is handcrafted →
First, name one other thing in the world, he said, that is used by so many people and which is created entirely by hand? Stuff that is made by hand is hard to make, and even more hard to make well, and tends to be less sturdy than things made by machines.
I hadn’t thought of this either – how all code in the software we build is handcrafted. Read the post, its arguments are true and insightful.
BDGT for iPhone
Personal budgets can be difficult and tedious. When I think of the word “budget”, I instantly think of tables, pen and paper, balance, diagrams, categories, and yadi, yadi … In the end, it’s all about keeping track of transactions and comparing the total cost of these to a given goal. How is this done fast, everywhere, and easy? Our proposal: BDGT for iPhone BDGT is an iPhone app which keeps track of daily transactions and will let you overlook your flow of money. In a simple and quick interface, you’re able to add a transaction, put it in a category, and you’re done. Boom. For now: in BDGT you specify a budget which always is present and shown for you. …
A word about testing code →
If you’re doing the right amount of testing, there should be a good chance, whenever you kick off a test run, that your actions for the next hour will change depending on the results of the run. If you typically don’t change your actions based on the information from the tests, then the effort spent to write tests gathering that information was wasted.
David Heinemeier Hansson writes about sane amounts of software tests, which he ranted a bit about on Twitter today. I haven’t enough experience with tests yet, so I can’t give valid comments, but I’ve begun to understand what he and others are talking about thanks to a heavy focus on unit tests in a university course. Putting tons of time on writing tests instead of actual code seem insane to me, and David’s thoughts about having advice on what not to test seems legit to me (I recommend reading the comments on the Hacker News entry as well).
In the end I think it boils down to a healthy balance, as with everything else in life.
Device independency
One thing hit me the other day. I’ve written about sync between devices before, and now I thought about the actual physical move between them. It has sneaked up on me recently: how we use multiple devices more frequently these days. What’s interesting is how the software inside adapts to it. What I mean is how you are able to use Messages on a Mac on your desk, then suddenly decide to move over to Messages the iPad in the couch. Got to run? Bring your iPhone along. What’s cool is the fact that you’re able to continue the conversation from wherever you left off, on any of these devices. Most social media services that have apps for the three …
I’m apparently a unicorn →
If you’re looking for a designer who can come up with your identity, design your site, create UIs with great user experience for your web and mobile apps, and on top of that code his or her work in HTML/CSS (and why not throw in Javascript in the mix!), then I’m sorry to inform you that you’re hunting unicorns.
Follow the linked article above and read about why startups today can’t find decent designers. Further down the article I think the author pinpoints two issues:
- Companies want “unicorn designers/developers”, “ninjas”, or “rockstars”, or <insert corny brogrammer term here>.
- Their demands are set too high. Let younger guys and girls in.
There are two sides of the designer-developer hybrid part. In the web world front-end code and design are so close together these days, and I think it’s wrong and a mistake to focus on only one of those two. Sure: you could get by, but wouldn’t it be boring not to be able to implement your own designs? Or never be able to create something nice for your own without, say Twitter’s Bootstrap?
In the native world where the “front-end” code generally is a bit heavier and hard-core, I can see how designers really are designers, and developers are developers (if you can do both: awesome!). Personally I think it’s easier to do both code and design in the web world.
The article says there are few “unicorn” designers/developers, e.g. hybrids. For me it’s a matter of interest and a never ending thirst of knowledge: I want to learn advanced Javascript patterns as I read about typography and grid techniques.
Unicorns do exist! How to become one? Never stop moving. If you are one? Consider yourself lucky, and start choosing your next employer with care.
Also, read the Hacker News comments on the linked article. I’ve also written related posts about designer-developer hybrids:
Sync is about safety
It seems cloud sync is the next thing these days. Having everything available anywhere is almost expected of respected apps and services. Remember a few years ago when we had to manually plugin in and out the phones out of the computer in order to sync the contacts? Or, when we couldn’t sync contacts to the computer at all? The cloud is getting more mature. Dropbox was for me the first service which gave me a “Whoa” moment. Having files around on your harddrive, and visible in a web interface, and automatically synced to any other computers (there were no devices back then) was huge. Apple’s iCloud is becoming an invisible way of syncing user data and files. MobileMe was …
“Stop solving problems you don’t have” →
Rachel Andrew on adding bloat and more code in the very beginning of a project, since you might need it. Got to the post via Roger Johansson’s link titled Use only what you need, which I recommend.
I’m indeed interested in reading about new techniques and ways of setting up new web projects as smooth as possible, but as I’ve “grown older” I haven’t tried out every obscure boilerplate out there. They say Hell is other people’s code
, and it’s indeed true with HTML and CSS. Those technologies are a huge part of what I do, and some frameworks and boilerplates feels awkward to use. It’s a different case with backend code libraries, which act like black boxes where you use to interface with something.
To me, a boilerplate for a project should be personal and tailored. I’ve before made the mistake of using my own huge boilerplate which included the latest and greatest HTML5 templates, CSS framework written in SCSS, and some custom Javascript fixes. Everytime I started off a new project I had to change, remove or add stuff. No project is thus the same.
Nowadays I add stuff (polyfills, shims, fixes, Javascript) as I go – when I need it.
I actually don’t like Twitter’s Bootstrap at all
Coffee and free software →
The hippie is free and you are free. The hippie hasn’t shut down the big chains, but that isn’t his goal. His goal is to sleep at night, comfortable that he has made choices compatible with his personal beliefs and that he has given other people the freedom to make choices compatible with their own personal beliefs.
I can think of no greater definition of freedom.
A gem. I love the ending paragraph quoted above.
Great articles about design, code, and life
That web designers and developers share their ideas, tools and techniques is vital and one of the wonders of the modern day internet. So much knowledge, inspiration, and experience is passed on from one and another – may it be with blogs, tweets, forum posts, or post comments. I think it’s an incredible phenomenon and what’s driving the web forward: developing an idea, share it, discuss it, get feedback. I will in this post discuss some of the articles I find really interesting, smart, or just plain good read. Responsive Web Design by Ethan Marcotte http://www.alistapart.com/articles/responsive-web-design/ What to say about this ground breaking article by Mr. Marcotte? Well, it will surely go down in the annals to our grandchildren as the …