5 posts tagged “work”
I found a nice old web application I created a little less than a year ago during my Spanish class. The objective was simple, create a "wiki-esque" site that allows you to enter verbs, words and definitions and associate those with a picture. The idea was focused on being able to compose it as I was learning Spanish. At any rate:
The one feature I especially like about this site is the ability to add accents as you type in any text box.
Simply type the character of interest: a, then type the character ` (the backquote/tilda key on the top-left of the keyboard). This will immediately make any of the characters, accented. ?` = ¿, a` = á, n` = ñ... etc. Pretty neat eh?
Chad's work inspired me to create this little piece I call Earthlet. Enjoy :)
If you're really ambitious you can download the PhotoShop PSD file below to make additions of your own.
There is an age-old saying that everything that can be thought of has already been created in some form or another. The problem that differs from every single scenario is not necessarily the practice that implements the solution but the entire product that shows itself through its main and completed interface. While the importance of lean and efficient code is and always will be there, there is of much greater importance to a product that can market itself. But let's take a step back at what great products entail in their user interfaces.
There are a load of toolkits available to create graphical user interfaces today for the web, desktop and mobile but what most of these toolkits tend to do is supplement a key component in creating a product - showcasing originality. In fact, the greatest part about creating a new product is that you have full control over how your users are going to interact with it - you can choose to make task completion inherently difficult or inexplicably easy. In all of interaction design this is quite possibly the most important - work hardest on it over any other.

The only successful product out of that market will be one that can differ itself in great interaction experience. Of course, creating that will not be easy and should not be taken lightly. Efficient code takes much thought into building algorithms that you can depend on. The same goes for interfaces in that successful products take much more thought, time and emotional presence into designing interfaces that you can depend on.
Let's face it, the Web can be a very distracting environment. There are tons of things you can do, search, play..etc. If you're not on the web, then you might be playing around like in a game (for instance, WoW (if you're 1 in 6 million people)). Nevertheless, if you're trying to get work done at work or at home then you might want to figure in ways to lose the distractions. Here's a few.
1. Figure out what it is that you are doing
2. Find out what need you're supposed to fulfillThis is quite cyclic actually. Before you get all crazy and download productivity applications, decide what you are currently doing and what you would like to accomplish. You don't need to write down your goals for the day, you don't need a requirements document to determine what you will do in the future. Decide, and quickly.
3. Remove tendencies or embrace them for their serviceSometimes if you can't figure out what you would like to accomplish, it's best to find out what need or what you're supposed to do. But even then, not everyone will be able to give you that fulfillment. But don't just ask the first person you see like your project manager or someone next to you - ask someone who knows. If person a doesn't know, ask person b. If you need to wait for something, then see to tip 1.
4. Clean and focusedGoogle is awesome, so is Wikipedia. But that doesn't mean you should look up information that will only bring you further away from what you want to accomplish. Try to remove those temptations by not using them at all or use them for the specifics that you are concerned with. Just ask yourself whether or not it's relevant, stop while you're ahead if it's not relevant as it will tend to hurt the time you have at work.
5. Stay close to the keyboardFirst, I would like to say that this is entirely dependent upon tip 1. Multitasking can work if you know what you're doing. But if you want and need to do something productive, yet you continue to be distracted by other items around you - try to clean up those messes so you can focus on the real goal at hand.
When you have a mouse in your hand, it is all too typical to browse around - let your eyes float with the mouse and engage yourself with visuals all and around your work area. When you use the keyboard and type your brain has to do a lot more cognition so that it can solve a particular problem. However, on the other side of the brain if you're task is artistically bound try to stay closer to the mouse or pad. Point: stay close to the fastest point of manipulation related to goal that you're on.
In the modern world of developing applications we are incredibly prone to writing systems that are both complex in requirements and their inherent ability to constrain both time and space in the software world. It's incredibly easy to say that our industry, or any industry in the modern world, works in the form of internet time. Faster than the average blog post, more useful than the information that each post may even contain. It's no wonder we have abbreviations for almost everything. While we have resources like wikis, blogs, searching through google, rss readers to compile posts, alerts on any new incoming message about let's say 'fda', instant communication... the list goes on.
With every layer from the moment we created our first computer, we've spent our days, nights, morning, and afternoons using every bit of our time to process information, understand it's complexity in order to be either more productive or to provide a better meaning or purpose to functioning in this world.
This is why we create better working tools, more layers of abstraction, easier access to working with almost anything in order to make the experience more user friendly, to make people more productive and feel the real purpose of using the software system. In other words, the business of getting things done, and getting them done faster. Expanding on an idea or intention may actually be less worthwhile to someone else since it may waste their time. But in some instances, where the user really wants to know more (in order to improve upon an understanding) it's useful to expand. So what's the solution? Provide every bit of functionality in a single layer? Well kind of. Except skip the part about adding all the features you want and just make it abstract so you can add layers later, when you actually need them or when someone else actually needs them.
While working in these 'layers of abstraction' what kind of trouble can we run into? Well for starters we could sit all day coding abstraction after abstraction and we may never actually get any real work or features done. Not Good! What's important to know about abstraction is that if there's already a layer implemented for what you need, then don't abstract. If there is a layer that you don't need, don't abstract since it has no purpose in your application.
Final note, keep it simple. You're bound to code it a lot faster and you're a lot more prone to adding the real functionality you need instead of a bunch of useless features and code that may never get used.