Site redesign time... again
It's that time again: time for a redesign of this website.
I'm not really sure what it is that makes me think that the look of a website is 'old' or 'dated', but every now and then I come across a website design that makes me really pay attention; makes me bother to take a look at the page source, scripts, styling information, and how everything just works together to create this visual marvel before me. Then after having dipped my mind into that wonder of a website, I look back at this website with a bit of an inward sigh.
I've been doing that quite a bit lately - looking at other websites showcased on web design galleries, all bright, shiny, and new. It wasn't really triggered by the coming of the New Year (the usual checkpoint in life that makes people take stock of what they've got what they've done, and what they hope to do for the next 12 months), but rather with seeing this website through my iPad.
I viewed it first in landscape mode and, since the screen has a width of 1024 pixels in that orientation, this site showed-up just fine. Maybe the font is a little small, I thought, but otherwise it looked as it should.
Then I rotated the iPad to view the thing in landscape mode, and it scaled this site down to fit the new width of 768 pixels across. If I thought the font looked small before, everything looked really small now. Then I borrowed my brother's iPhone for another peek at an even smaller resolution and found that my website was pretty unusable (well, usable if you don't mind putting up with some serious eye strain).
Huh, this isn't ideal, I thought, eyes still squinting at the tiny font on the tiny screen on this tiny device, and thus began my trek through the web design world once again.
If I look back at the history of this site, it's had this general layout since 2009. That's 3 years of this light grey gradient, headed by a picture of a planet from one of my space pics from 2007, covered by GDI and Nod logos from the original Command & Conquer games of the 90s.
The internet has changed a lot since 2009, and so the web design landscape has also moved to try and keep up: HTML5 and CSS3 support have taken off thanks in part to innovative browsers like Firefox and Chrome (allowing web designers to do a whole lot more with their websites with less effort), and browsing on mobile devices is very prevalent with the proliferation of larger-screen smartphones and tablet devices.
All of this has created new challenges for web designers, many of which they've already taken to address with things like responsive and adaptive design philosophies. Things I didn't really know about until a month ago.
Combining all of the above, suddenly that 3 years seems like 30 and I feel like I'm at least 2 steps behind the internet curve.
So: site redesign time! The goals: a new look that scales/adjusts to different device resolutions, making use of the advances the HTML and CSS languages.
If it's anything like before, this should take about a month of my spare time to accomplish. I've already tried using this last long weekend to do something with it, but I ended-up spending that time scribbling layouts in a notebook then staring at the computer screen in an attempt to translate my scribbles into code, turning it into something that I actually like.
I also took at Google Analytics just to find out what browsers visitors used to come here so I can figure out where to put my effort, and found that 12% are still on Internet Explorer 7, which supports almost none of the goals I mentioned above :'(
Oh well, since when was life supposed to be easy anyway?
iPad 2 and my inner Apple fanboy
My brother managed to stumble across a joke that went something like this:
How do you know if someone has an iPad?
Because they'll tell you.
Oh yeah, I got an iPad 2 for Christmas :D
Unlike all the spoiled kids tweeting that they got a car from mom/dad instead of an iPhone/iPad, I bought the iPad as a Christmas present for myself which surprised me a little when I got the idea because I don't often buy flashy or expensive things like this. I mean, the last purchase I made (which I still think is very cool) is a mandoline. It slices vegetables very thinly. That's all it does.
I've also mentioned a few times that as a computer programmer, ie: one you'd expect to be enamoured and surrounded with cool electronic stuff, I'm still very much behind the tech curve when it comes to owning said stuff. I'm waaay behind the late majority and laggards, and so late that I'm practically pregnant.
Also, the last time I spent such a large amount of money in one go I got a call from the bank to confirm that yes it was me that spent that money and no please don't block the transaction because otherwise my friends won't have a holiday house to spend New Year's in.
I'm pretty alien to big purchases and have managed to give my bank absolutely no reasons to increase my credit limit. So when I went to the store and the price of the purchase was repeated back to me by the nice young lady behind the counter, I very slowly forked over my credit card, all the while holding a face that I imagine looked like something you'd get if you crossed pain with a nervous smile.
I bought it on December 5, gave it straight to my mum to wrap and put under the family Christmas tree, and didn't open it until December 25. It was a very long 20 days.
For my first ever Apple device, I'm very impressed. I've never really been an Apple fanboy, although I often find myself defending the company against my mainly Windows/Unix/Android group of developer/tech friends simply because nobody else will. What fun is an argument if everybody is on the same side?
(It usually goes that they pick on Apple for some thing they've done, like the comparison between Apple's walled-garden of an App Store vs the openness of the Android Marketplace: my friends will often attack it for being so developer unfriendly and I'd play devil's advocate, saying something like how Apple is ready to throw its developers under the bus for the benefit and safety of its customers. As a customer, this makes me feel a lot safer when perusing the app store; as a developer, I probably wouldn't want to develop an iOS app any time soon.)
Using the iPad has been a dream with pretty much no hiccups or complaints to speak of. As a customer, this makes me feel supremely satisfied; as a developer, this makes me ask why so many of the technologies I use at work and at home aren't this easy to use? I'm routinely surrounded by examples of difficult to use/understand software/websites/devices that it makes me wonder if we developers did this to ourselves on purpose.
It doesn't have to be this difficult! I'd find myself thinking as I wrestle with another annoying system I have to use as part of my work.
I think it all started with that user interfaces course I took at university where we were taught to focus on the user, test interfaces with actual users, find out what users actually need and other general things to think about so as not to annoy your users. (Pretty much everything that this guy talks about.) Ever since then I've been very user-centric and trying to include that in my own work and to have it show that I do in-fact care about the person who has to use whatever I'm developing.
An offshoot of this is that I really believe that every computer-related frustration a person has ever had is avoidable and a reflection of something missed during development.
It doesn't have to be this difficult! I would often think or say when debating user interface design in my head or with a co-worker.
Now I find myself wondering: Why can't everything be as easy as the stuff my iPad?
I've never been an Apple fanboy, but now I've had a taste of things on this side of the fence and it's pretty sweet over here. In this post-Steve Jobs Apple world, I really hope their user focus continues for years to come, because I am sooo very tired of wrestling with computers to make them do what I want. (I'm looking at you Linux...)
No comment
For a long time now - ever since this site went up in its original form over 11 years ago - I've gotten by without comments to my news updates / blog posts.
Well, for the first few years in this decade the most popular form of 'commenting' was writing into a site's guestbook (man that's old school, remember those things?). But then once blogging became more popular and the ability for a visitor to leave their mark on a person's rantings became the norm, I continued to stay away from having comments on this site because I've managed to convince myself that not enough people come here to read the rantings of someone who has way too many hobbies and simultaneously way too much spare time to write about those hobbies.
The 'Email Me' link at the top of this site has been good enough for some people: my mail archives include plenty of e-mails from people over the years who have asked me for help regarding that Red Alert campaign I put together a long time ago, and even one time last year I got an e-mail from the author of one of the books mentioned in my tirade against the blossoming literary genre that is Zombie Fiction (rant against zombies here, author response here).
(My inbox has also had the occasional e-mail from online casinos wanting to put their ads on my site, or from people wanting to game the Google search results system by including me and my site in part of some link exchange program. I don't really know why anybody would want my site involved in that, but after the discoveries in my previous post, maybe it's because my site does so well in searches for chocolate chip cookies?)
There have been some pushes and shoves from people over the years to put comments on my site: sometimes a faraway relative just wants to say hello, other times my brother just wants to troll the crap out of this place and post links to irrelevant pictures or videos in an attempt to make you laugh or get you Rick Roll'd. But recently, after all these years of getting by without comments, I've finally decided to do something about it.
And in doing so, I've rediscovered one of the other reasons why I didn't add comments to this site in the first place: it's a lot of extra work.
As a stubborn programmer, I wrote the little 'engine' that runs this site several years ago. I never programmed comments into it; all it really is is a content-serving machine: you give it a URL, it puts together the page you asked for.
Then 2 years ago, part-way through Blog Every Day April, I added a chunk to it so I could write blog posts to it from anywhere I could get an internet connection to make my task of participating in BEDA a helluva lot easier. That was quite a time-consuming undertaking for me then, mainly because I kept designing and redesigning how it all worked because I never had a proper model or idea for how writing posts should be done.
Now I'm doing that again, this time for allowing people to add comments, and I discover that what works for me and writing new posts doesn't necessarily work well for general users and writing comments. That, and now that I'm going to open up an avenue for the internet in general to add content to this site, I have to think about security and things like preventing scripting attacks, spambots, and other malicious users...
I'm not a whizz programmer. Hopefully I at least fall above whatever mark constitutes an average level of programming skill. Sometimes I wonder why I don't just install something like WordPress so I can leave all the coding trouble to someone else. But as I was trudging my way through all the work needed to get comments going, I was reminded why I put myself through all this trouble: I'm learning, and it's this constant learning that keeps me above the 'average programmer' line.
So I'm persevering, and hope to have something working shortly after Easter. I was talking to a friend over Skype about this, telling her about all the troubles I was going through:
Me: But right now, trying to see if I can get comments working on my site.
Her: he he he
Me: What a mission. Just so my brother can make his words public, and so Laura can tell me she rulez teh intarwebs
Her: oh the things we do for the people we love eh ;P
Me: *sigh*
The things I do.
The system is down
I was thinking that I'd continue the last blog post's theme by saying that not a lot has happened in the 'life' part of my currently-over-worked existence. The instant I thought that and started typing it out on my keyboard, I realized how false that was. A lot has actually happened. Is it all blog-worthy? Maybe, maybe not. Then why aren't you blogging about it? I hear some part of me asking myself.
For me, it's that time in this website's never-ending life cycle when I feel that the code/system running 'the MooCow' needs an update. It happens maybe every 18 months, the feeling that the site just needs some sort of modernization, and so I start dedicating my spare time towards the effort.
The last time this happened was the beginning of 2009 where I updated the look of the site from this, to what you see now. So that took about 2 months and was mainly a visual overhaul. This time it'll be a system/back-end overhaul, meaning you dear blog reader won't see any difference at all.
The motivator for the 2009 visual overhaul was that the look of the site was starting to feel a bit dated since it was also then that I really started to wade my way into the web design world and expose myself to a lot of stunning and beautiful-looking websites created by all those web designer types. As somebody who wanted to be a part of that world, it pushed me to update the look of the site, and so I did.
And the motivator for my current system overhaul? I just feel I've learned a lot more and improved as a programmer since the last system overhaul. So, in my constant struggle to feel relevant in the ever-shifting IT software development landscape and to keep my own skills sharp with some established technologies and practices that I don't already use in my job, I kicked the 2010 system overhaul about a month ago.
It's also these times that I find myself asking why I don't just pick some sort of CMS or blogging platform (eg: Wordpress), install that, and never have to worry about it again. Then I remember: I'm a programmer. We re-invent the wheel and fix things that aren't broken every day because it's how we learn, it's what we enjoy doing, and it's the only way the world is going to end-up with better wheels - lord knows the software industry could do with some better wheels.
Generating HTML like it's 1999
I'm pretty much consumed with work at the moment: stories that I can bring to a social situation have dropped significantly - as evidenced by my plummeting blogging rate from roughly 1-post-per-week to some number that's lower than the morale of a Foxconn factory worker - and, barring that one dream in my last blog post where a wonderful Scottish accent turned into harsh pirate yarn, my most recent dreams have actually all been about work.
You know what's terrible about work dreams? The same thing that's terrible about those homework dreams you sometimes get during the high school and university years: you wake-up and, some time during the day, realize that your dream about completing the most awesome assignment that any teacher in the history of teachers is ever going to see - such that they will give you medals, prize money, and (for the guys, when your teacher happens to be hot, young, and female) offers to have your babies - never happened.
It's a terrible feeling of disappointment, and I felt that just 2 weeks ago when I had a dream I completed all my tasks in the most mind-blowing manner, then when I got to work and sat-down at my desk for the first time that morning, realized that none of it ever happened.
I sighed audibly, and nobody even looked my way.
The work I'm doing at the moment is the first big new-development project I have ever been on since joining this company straight out of university almost 5 years ago. Being the rookie when I came into work, I was always given the not-so-glamorous job of bug-fixing existing systems and attempting to undo messes made by the developers who came before me a long time ago. The worst cases were when the code was developed by a contractor or by somebody who obviously didn't care which college-grad-n00bie would be looking at their code in the future and submitting the detritus that they encountered to websites like TheDailyWTF.
It wasn't terrible work: I learned a lot, and the years since then have given me enough experience and grounding in my own programming habits to realize that I wouldn't have trusted that younger version of me to work on anything so important as what I am working on now. But it was very cushy work: never stressful, I always had spare time for my own projects and thoughts, and work never pervaded the life I lead after hours.
Now that's all changed.
One of the things I'm struggling with right now is JSF. (Here's where this post starts to get a bit techy)
For the uninitiated, JSF is one of many many frameworks out there whose objectives are, amongst other things, to make life easier for developers (like myself), particularly in creating very large Java web-based systems. That's the objective of pretty much any framework: to make software development easier by giving you a foundation to start with.
Somewhere along the way though, the creators of JSF omitted the 'make things easier' part from their objectives and instead created something that's more difficult to work with than Facebook's privacy settings. Not only that, but JSF creates completely new and unique problems that weren't there before. It's like I was told to dig a trench... and they gave me chopsticks. I would've preferred a spoon but JSF is supposed to be a better spoon, so not only am I now digging a trench with the wrong tool, but it's also giving me hand cramps.
The thing it's worst at, and my main issue with JSF, is creating web pages. You'd think for a technology that's supposed to be used for web development, it'd make the serving of web pages to a person's browser one of the things it'd be best at, but no! Instead, they created some ridiculous abstraction over (X)HTML components and ask you to use their own components which will generate HTML for you.
As an aside: one of the things I had been getting into during my spare time was web design and development best practices: clean HTML pages, proper uses of HTML markup, all the tricks of CSS, SEO, and using the powers of JavaScript only for good. I do my best to apply all these things to my own website, and while I'm no expert at web design, I can spot questionable practices when I see them.
I remember the first time I saw the HTML that came out of one of the JSF pages at work: the web designer in me died a little, and a threw-up a bit in my mouth.
To use a line from another JSF-bashing blog post, it generated HTML like it was 1999: tables, more tables, nested tables, and 1px images to space content.
Just the feeling that I've been put into a time machine and sent back to when web development was, to be honest, pretty shit, does not give me confidence in JSF at all.
So in short, I'm getting a bit stressed about work, deadlines are looming while the amount I've been tasked with just keeps growing, and it's totally not helping when the technology we're using to create this system is giving me persistent headaches. (I actually went to the pharmacy last Thursday and bought a pack of 100 tablets of paracetamol. They normally only sell them in packs of 20. I went for the bulk deal. Thanks a lot JSF.)
The Future, Now
I got a webcam the other day - the Logitech Webcam Pro 9000! Now I can more-proudly consider myself a citizen of the digital age and join things that everyday technology-enabled people are a part of, like Skype!
I've been having a bit of fun with the webcam actually - taking photos, testing the face-tracking capability (I can happily report that Logitech webcams are not racist) and making a video or 2 - and I guess like most people out there, I'm really enjoying having this new piece of technology in my life.
Much like when I got myself a new cellphone, particularly one with a camera that, unlike my last phone, takes pictures at sizes measured in megapixels, I think I might enjoy the video capabilities that are now at my disposal.
When I got my new cellphone, I picked it because of: a) the flip-top design, and b) having a camera that doesn't suck. I had the latter in my purchasing decision because I wanted to take photos that I could upload and use on my blog. Lo and behold, I've been using many of my own photos in my blog instead of trawling the internet for something that resembles the image I'm trying to portray. I've even used the cellphone camera to take pictures of inane things, like Windows XP error messages on supermarket monitors, or billboards I come across in my walks around the city.
So far I've only called my family on Skype with the webcam enabled. They don't have a webcam themselves, so while I couldn't see them, they were able to report that the video and sound feed of me weren't too bad, even when Skype was reporting to them that their internet connection was "slow".
I've started adding a few others who I know have Skype, but there's one overseas friend in particular with whom I can't wait to tell them that I'm not such a useless IT guy anymore :)
Maybe next I can start uploading to YouTube... lol, let's not get carried away here.
GRRR @ WebKit
Earlier this week I finally got to see what my site looks like in Google Chrome. I was just showing someone (the same inquisitive someone who asked me what my mum is like), during our first guitar session/get-together, some of the older space pics I've done (well, they're all old ones since I haven't created anything new on that front since mid-2008) and noticed that something wasn't rendering correctly!
*gasp*
I had a mate of mine check it with Safari on his Mac (since Chrome and Safari both use something called WebKit to render web pages) and got the same result:
That wasn't the only problem: the Twitter feed on the right-hand sidebar seems to be stuck on 'Loading...' in Chrome/Safari, but otherwise fine in Firefox and IE7/8.
So I downloaded and installed Chrome, attempted to fix these little issues, and only got so far as to fix the layout of the menu. As for the Twitter feed, I've taken it down in the interim.
Continuing the computer-ish theme for the week, earlier tonight I was asked to install Skype by a friend from overseas (the one I called the neck-licker in this old BEDA '09 post, who has unfortunately been sent back to their home country because they couldn't stay in New Zealand). I thought it a bit funny that, before this week, I had never touched Skype - not even with the electronic equivalent of a barge pole - but for the first time this Monday I was involved in a Skype call from inquisitive guitar girl's end, had my friend the hug nazi mention it because her netbook has a built-in webcam, and am now being asked to install it.
As I was downloading the program, at around the 50% mark a realization hit me: I don't have a webcam... or a microphone. I told the overseas neck-licker as much, and they replied in kind:
what kind of ASIAN COMPUTERSPECIALIST are you?
Good question.
As one of the IT guys in my group of friends, I don't even have some of what is now basic hardware that is so run-of-the-mill that many computers and devices come with these things attached or built-in. I have a million cables lying spare, more computer screws than you can shake a stick at, and even more twist ties from all those wires that I could create some sort of contemporary art piece and break a Guinness World Record in the process! But, a webcam and microphone are nowhere to be found.
At least I'm still more feature-complete than the iPad.
Blue Beanie Day 2008
Unlike last year, this time I'm ready for the coming of Blue Beanie Day 2008. OK, so it's not as if I marked it on my calendar and looked forward to it all year like a child waiting for Christmas, but now that I've joined the Designing With Web Standards group on Facebook it's become somebody else's responsibility to inform me of said event. So when I got the message/call-to-arms a couple days ago, I almost mistook today for Blue Beanie Day; I even took my navy-blue NY baseball cap into work instead of my usual orange and black SF Giants one. Yes, you read that right; I actually don't have a blue beanie. Thankfully this extra week gives me time to prepare, properly.
Now, to find a blue beanie...
CSS attack
In the past week I've finally decided to go all CSS Zen Garden on my site and remove the last vestiges of layout information from the XHTML code, thus shifting it all presentation information to the stylesheet (the CSS file). For the most part, the site should look and act exactly the same as it did before. Minor non-CSS/XHTML changes include the movement of the About page to it's own section and the update of that page's content, and the re-tagging of news posts.
If you don't know what the CSS Zen Garden is, check out that link above. My take on it is that it's a site aimed to promote CSS-based page design and the separation of presentation info from the page code. This puts all of the design information of a page exclusively into CSS files, and with that you can let web designers go wild. Take a look at some of the 200+ user-submitted designs for the CSS Zen Garden. If you look closely (or just read what the page says), you'll see that the HTML code stays exactly the same from design to design; all that changes is the stylesheet file (and images) applied to the page. Pretty cool eh? What, no? Damn, I thought it was.
I'm not gonna go and start creating multiple stylesheets for my site, but I am aiming to make at least one, just to make sure that I did the whole thing properly. And if I like what I created, I'll make that stylesheet available as an option... somewhere.
Boring
So I was walking home with one of my neighbours last night, and quickly learned that work has turned me into one helluva boring person. Maybe my line of work (IT / computer programming) has something to do with that; I don't imagine my spiel about web services and the politics behind each company's interpretation of the spec would be classified as scintillating dinner conversation. And maybe all of my other high school / university / pre-full-time-work friends are getting that too.
With all the differences between our jobs, talking work lingo to one another would be like talking different languages. I can still talk computers and stuff to some of my pre-full-time-work friends, but we've all scattered to the four winds and found ourselves in different companies, different states of mind, different dimensions, or Germany.
So, outside of work, I look for the common ground in conversations. That neighbour I mentioned? I talked to him about the new pants I bought that day. That's right; pants.
Although there was that one time at a birthday party, where I didn't know anybody besides the birthday girl, I was talking with somebody else who works as a programmer. Once we both learned that fact about the other, it was pretty easy for us to let the geek subjects flow. But then we discovered we were on opposite sides in the ongoing civil war that is Java vs .NET, and we were practically at each other's throats after that.
So maybe it is just my line of work. Maybe why us programmers have so few people to talk with is because fanboy-ism causes us to murder one another.
Blue Beanie Day
Through the blog of another web developer, I learned that last Monday (Nov 26) was designated 'Blue Beanie Day', an arbitrary day of the year given to the idea of promoting Internet page design with web standards and accessibility in mind. You'd best read Veerle's blog in that link as most of her experiences co-incide with my own and several others out there.
So what does Blue Beanie Day mean to me? 2 parts making life easier, 1 part Microsoft-bashing.
A lack of standards is like when a co-worker shares their holiday pics from their X-dot-Y megapixel camera, but then find that your 500-in-1 flash memory reader doesn't read that 501st format that your workmate somehow uses. Web developers face similar annoyances, except for us it's usually "Why doesn't (feature X) work in IE!??!"
Ah yes, what rant about standards would be complete without mentioning Internet Explorer - the least standards-compliant browser in circulation. We could save ourselves some trouble and all just follow IE, but most people generally aren't that fond of a corporation that electronically ass-rapes us on a daily basis. That, and we like choice (yeah, it's actually all about choice, but I just wanted to squeeze 'ass-rape' in there).
The day I no longer have to provide an IE-specific stylesheet for this site is the day pigs start developing wings. It's still a day I'd like to see in my lifetime, so the next time Blue Beanie Day (or some similar event) takes place, tell all your website-making friends, bring along any cute and opinionless children, and rally behind the cause!
Something old, something new...
...something borrowed, something blue.
So after a month of on-again off-again development, I've finally completed the new layout of site of which you see before you. I've taken a more blog-like approach to the presentation of elements, with proper datestamps on news, artwork, and writings. Accompanying the datestamps are categories or tags for these items, as well as a right-hand navigation menu allowing you to filter items by date or category. The option to sort by the original categories I had for these items has remained and is still the recommended way for viewing anything here.
Much of what you see here is still experimental, so expect things here and there to change over the coming weeks. The splash page will also need re-doing as it's look is very closely tied with previous layout.

