AJ Dyrbye

Web Developer and Digital Humanist

Page 4 of 5

On Creating in WordPress

A Few Thoughts on WordPress versus Hand-Coding

In the last several months, I’ve had the opportunity to go in-depth with WordPress as a web development platform. 

This represented a departure for me. Ever since I first learned HTML, back in the days of Geocities and table-based layouts, I’ve been most at ease hand-coding my pages. While I’ve used web development software before, I appreciate the control and depth of understanding hand-coding permits.

Which is not to say that it is without drawbacks. Designing and modifying a website in a text processor is time-consuming, even with a modular design and PHP to stitch it all together. It’s easy to introduce errors; all it takes is one mis-spelled semantic element, or misremembering one piece of CSS syntax. I’ve spent many hours tweaking box element positions on a stylesheet even when all is going well.

Yet, it’s easy, too easy, for me to get caught up with layouts and structure at the expense of the site as a whole. Spelling and grammar are harder to proof, for one. More critically, it’s harder to step back to see the overall effectiveness of a site when I’ve spent hours working with lines of code for just one part of one page. To be fair, some of that may be an artifact of being just one person, and never mind one who is still learning in many respects.

By contrast, working with WordPress emphasizes content. Instead of creating a layout from scratch, users choose a preset. Instead of writing a new file for each page, users choose from a short list of templates, then proceed immediately to formatting their text and adding media. 

It is simultaneously restrictive and strangely freeing.

When I started working with the Contemporary Ukraine Research Forum project, they had no website to speak of, just a space on the University of Alberta’s ARC servers and a WordPress install. All it took for me to get the site roughed in and ready for project content was a Skype call with the coordinating committee and a few afternoons of creating pages, setting up menus and roughing in the sidebars with example content. By contrast, it took me weeks of dedicated work to get the case study website I designed for my thesis structured and styled.

Despite the time it took to get the formatting just so in WordPress’ page editor (amazing disappearing non-breaking spaces! Header tags mysteriously applied to whole paragraphs!), it was almost absurdly fast to get each new page populated and ready to go. No messing with positioning, no time spent searching out where I missed a close tag in an unordered list, no playing around with formatting individual CSS classes, just a polished page. 

I’m of two minds on this. It’s great to have it done in relatively short order, ready for the world to see. However, I feel like I’ve invested very little of myself in the pages, beyond the images and text. With WordPress, and especially with the free version I’m currently using, there is a limited capacity to alter layouts, change fonts, experiment with colour schemes, or refine how the pages behave under various devices or browsers. 

It’s great to have a portfolio up and running so quickly, but at the same time, I built my first one from scratch for good reason. It was a chance to not only demonstrate that I can build a competent, if basic, website from scratch, but also a place to refine and practice my HTML and CSS. That said, I also learned a great deal from running the Contemporary Ukraine Research Forum site as an admin; it gave me the broader view of good site design by distancing me from the level of code.

I’m still deciding how I want to go forward from here. I like WordPress, despite its limitations, even though I miss getting deep into the code level. Yet, I still value my old portfolio, and I regret the loss of both it and my thesis case study website with the end of my university hosting.

Perhaps it’s simply time to invest in a domain and hosting. Transfer over my older work, and give myself the ability to effect greater control over my WordPress work. Worst case scenario? I develop a passion for WordPress theme development.

Pardon My Dust

Today marks the official re-opening of this blog. 

When I began this WordPress site, it was bare-bones, no more than a place to hold textual thoughts as I explored programming concepts from a newly post-Masters perspective. I didn’t bother with anything but the most basic setup on the logic that I would be best off focusing exclusively on the words while I built up my writerly momentum. 

Even with this low level of commitment, life got into the way.

It happens. Blogs are started and abandoned with regularity; it takes a particular kind of person to keep one going for the long haul.

So, why revive it now?

It’s a straightforward tale. This site fulfils a more urgent need than it once did, and I now have more time to devote to it. Mercenary reasons are as good as any.

In short, I recently finished up work on a major web development contract. It was time to update my web portfolio to reflect it, and I soon discovered that my post-Masters self no longer has login rights to make the changes.

Moving on from my University-hosted homepage is, at the end of the day, a good thing. It’s long past time I investigated other options. I’m proud of the work I did there, but I’m glad I’ve had the kick I needed to expand beyond it.

I’ve spent the last few weeks revamping this site to act as a new portfolio. I’ve lived and breathed WordPress the last six months, and it made good sense to come back here. In the process, I realized that once again, I had things to say. Where I’ve been, where I’m going, what I’ve learned of late. 

And so, here I am. 

At this precise moment, I write to silence. I have a lot of work yet to do, a publication schedule to establish. A shiny new page structure and a banner image are merely a good start.

We’ll see where it goes from here.

Hackathon, Day 2

As I write this, it is the morning of the second day of the Hackathon. I’ve been able to pursue my idea, but, as these things tend to go, it hasn’t played out at all how I’d planned. I spent last night turning over the first day in my mind, and now I find myself reassessing.

Here were the goals I had set for myself before the Hackathon:

1) Nail down the character, items, NPCs, areas and basic mechanics such as accessing inventory, exploring a room, combat, conversation, levelling up and so forth. Mechanics will be governed by functions and may be simplified further if required.

2) Build a simple, linear game using each major element and mechanic at least once.

3) Build a web interface over the game.

4) Playtest.

5) Expand game, if enough time remains

As of this morning, I’m still on point one, with no realistic way to move past it in the time remaining. The first room is in place, as is the player-character, some plot items and a sample creature. I’ve also roughed out the combat function and the examine item function, and identified where I need to write other functions to ensure those two behave as I need them to.

To be honest, I’m not terribly surprised. The game mechanics I was hoping to implement prove more complex to build than is realistic for the timeframe, even with additional simplifications. I’m thinking I’ll have to go back to the drawing board at the end of this and decide what, specifically, I hope to accomplish, and how I might more realistically carry that out.

I’m not particularly upset about all this. I ended up working with only one other person, Jacqui. Her strength is in project planning and documentation, and she ended up putting together an impressively through document mapping out all the object relationships a game like this needs. It’s given me some serious food for thought. While it would have been nice to have an experienced coder working with me, planning of this kind is so important, and I’m no doubt better off for it. I’m still happy with how much the two of us accomplished, given our respective skill sets.

Today, I’m going to keep plugging away at functions. If I’m really productive, I might be able to start testing one or two. Jacqui, alas, is down with a back injury, so I’m flying solo.

While it’s clear that the task is much bigger than I expected, I’d like to keep going for a bit longer before I decide whether it’s worth continuing this development path. I’ll have to decide once the even wraps up. I want to continue with the idea, and I still think it’s going to be a great way to learn more about how JavaScript works.

Hackathon Preparation

With the Hackathon less than a day away, I’ve been gathering my thoughts for my project. I’ve set the following goals for the weekend:

1) Nail down the character, items, NPCs, areas and basic mechanics such as accessing inventory, exploring a room, combat, conversation, levelling up and so forth. Mechanics will be governed by functions and may be simplified further if required.
2) Build a simple, linear game using each major element and mechanic at least once.
3) Build a web interface over the game.
4) Playtest.
5) Expand game, if enough time remains.

I think this is realistic, but I’ll have to see how well it works out. I have no way of knowing who I’ll be working with, or if my project is even going to attract the interest of potential team members.

For posterity’s sake, here’s the rough outline of how I want the game to work (fair warning, this is a bit of an infodump):
Continue reading

The Learning Process in Fits and Starts

As the Hackathon approaches, I’ve been reminded of a few things important to my learning process:

  1. Having something concrete to work on is important to my learning process. Picking up a skill without a clear application or need is lousy way to develop a true understanding of it, at least for me.
  2. It’s okay to walk away for a while, as long as I prioritize coming back. I lost momentum for a week due to Thanksgiving and other demands on my time, and picked my JavaScript lessons back up over this last weekend.
  3. Sometimes it’s best to come back to a problem. This week, I’ve had a string of days where I’ve been stuck on one concept, and instead of beating my head against it, I stopped for the day once it was clear the concept wasn’t gelling. When I came back the next day, I would usually be able to see where I was hung up right away and then move on.
  4. It helps to talk to people already using what I’m trying to learn. A programmer friend was in town last week, and at dinner, he asked me to describe how I was planning to construct my text adventure at the Hackathon. The resulting conversation pointed me toward concepts I wasn’t yet familiar with. When I got to that point in my instruction a few days ago, remembering that conversation really helped me understand the purpose, value and applications of those concepts

It remains to be seen how the Hackathon itself will go. I suspect I understand more than I think I do, but at the same time I’m certain there are still huge gaps in my knowledge. The experience will educate me in both, and likely point me toward a few more things beside.

« Older posts Newer posts »

© 2014 - 2022 AJ Dyrbye

Up ↑