Bridging the Gap: Classical Art Designed for Photographers (Video)

Adam Marelli:

I do that because I believe it’s possible. I don’t really… I don’t like to rest on the idea that people are just born artists, and that’s it. They wake up in the morning and they make brilliant work, I think it’s nonsense. If we look at every artist, every photographer, at their beginning stages, they stumbled. They made mistakes. Some of the learned a little more quickly than others, but there is a lot of information that can be absorbed and applied, regardless of what your subject matter is.

A bit of a lengthy watch, and I’m still making my way through it, but this quote from very early on in the video lets me know that I am in for some valuable information.

Happy Sunday!

2012: Year in Review

"Oh what's that, the new year?"
“Oh what’s that, the new year?”

Yes, you know it, it’s time for that ever clicheed end of the year blog post/review/brain fart!

Well, I didn’t do one of these for 2011, and I was only setting goals with my end of 2010 post, so I thought it would be nice to start the tradition of looking back on the past year.

2012 was quite the tumultuous year for me: I left an awesome job with the smartest people I know to attempt to make a product, floundering with no direction and focus, and taking another serious swing at furthering my marketing career. On the flip side: I’m in the best shape I’ve ever been, I dipped my toes into the world of video game development, and I’ve created a solid plan for what the next year is going to look like.

The Good

While not numerous, the bright spots of 2012 were there, and they are long term changes that started this year and will continue to be a positive aspect of my life going forward.

In March, I decided to get back into shape. During university and the working years afterward, I let my physique and physical health slip a little too much. Sure, I was still a force to be reckoned with on the basketball court, but I was starting to feel pudgy and slow, and even worse: I was starting to feel a lot of joint pain.

I re-started my membership at the YMCA and made a commitment: go swimming every weekday morning, and get at least 30 minutes in the pool and continuously push myself to go farther, go faster, and be more efficient. While I didn’t end up going every weekday morning as promised, I went for 115 days and swam a total of 77.9km, which is significantly more than I imagined I could do. The swimming waned near the latter half of the year, but it was because I was rapidly shifting from weight loss over to strength gains, and was spending less and less time in the pool and much more in the weight room.

In addition to consistent time at the gym, I changed my diet. I made a few simple changes: switch from white rice to brown rice, eat equal parts rice and vegetables for every meal, and no more drinking except social situations, limiting myself to two (or four) drinks at the most. This switch accounted for a significant portion of my weight loss, I am sure, because I lost about 20 pounds over 8 months, and have been able to keep it off despite my many binge days of both food and alcohol.

Besides physical health, I also made a dream come true: I built a video game from (mostly) scratch. My buddy Wayne Sang and I built a game for GitHub’s Game Off 2012 competition, creating Octocat Attacks in a little over a month using an open source game library called Flixel and an open source pixel art app called Pixen. Our game isn’t anything revolutionary, but for two rather inexperienced game developers, it was a fantastic experience.

Lastly, it took a while, but I seem to finally have a plan in place for the future. I spent most of this year really soul searching, because it was extremely difficult for me to accept that I could take “just another job” and not take personal stock in what I worked on. I am still narrowing down exactly what I’d like to do, but at least there’s a coherent direction: I want to work for a product that I personally find interesting, building and testing marketing campaigns to drive users and conversions for a sound business model. It still sounds like a lot of junk coming out of my mouth, but I’m working on finding that perfect fit.

The Bad

I spent much of 2012 feeling rather disparaged, and I will be honest: waking up in the morning was tough.

I left The Working Group because I needed that focus on products. It always felt like our products didn’t get the love they deserved, and it was thoroughly affecting my work on said products, so I decided to cut my losses early and move on. I owe those guys everything for giving me a chance and really believing in me and pushing me to grow and become a better person, and so thank you to the partners at TWG and the rest of the team for being one of the best experiences I have ever had professionally.

With my departure from TWG, a very cynical side of me came out. I distanced myself from the community, from friendships I had forged over the years, and from companies and products that I long supported. I can’t really pin this cynicism on anything in particular, I just know that I withdrew into my shell, and I am sure it negatively affected me in ways that I can’t even fathom.

With this cynicism, I managed to lose focus. For a long time. I spent at least 6-7 months in a state of complete shell shock, for lack of a better term, not knowing what would come next and what I even wanted to do. It feels really funny to even write this down, because it feels silly, but it was what it was: I felt like complete shit because I had no idea what was going on. I felt like I was twiddling my thumbs waiting for an idea to strike or for a company to come calling, and fortunately, these feelings of sadness and melancholy sparked what came next: determination to succeed.

This determination is still in its growth stages, and has always been around, but has been beaten to a pulp with my attitude this (and previous) year.

I also can’t discount any of the friends and family that stuck by me, despite not having a thing going for me and being completely abysmal to be with for most of this year. To the true friends who let me be sad and did their best to cheer me up, who knocked sense into me when I needed it most, and who cheered me on regardless: thank you. A million times thank you.

The Ugly

Focus. Still not enough of it. Ever.

What’s next for 2013?

Well, to be honest, I don’t exactly know.

I have laid out a plan to get from where I am to where I want to be, but plans and situations change. It’s something I’ve come to accept.

One of the first things I’m focused on doing: finding a place in the professional world where I fit.

It’s been a really difficult and humbling month and a half of job searches, but I figure that the only place to go from here is up. We create success through failure, right?

Regardless, if you read this, thank you. I appreciate you taking the time out of your day to read what my year has been like, and I hope you take the time to share your own thoughts of the past year. It’s always interesting to look back at the past year and see what memories and feelings jump out at you immediately, versus what requires concentration to recall.

You’ll also note that this was very non-personal. I like to keep the personal stuff to myself and a select number of people, and I hope you understand my reluctance to overshare.

Finally, one thing I definitely need to change in 2013? Writing. I don’t do very much of it anymore. Never mind photography and videography, so 2013 is going to be the year of content.

Happy New Year, friends and family, here’s to you and yours.

Issues with Push Notifications for iOS

iPhone Push Issues

With the news that the Gmail app for iOS was updated two days ago, I decided to give it a go as a replacement to the native iOS Mail app. And for the first time in three years, Google apps are dominating the lower app bar on my phone. (Pictured above!)

However, and this isn’t a knock against the app because it’s wonderful, I have a rather weird quirk about iOS Push Notifications: the notification badge remains despite being corrected elsewhere.

For example, with the Gmail app, if I see a notification for a new email pop up and I am at my desk, I will go ahead and look at it on my web browser, because why look at it on a smaller screen with a larger one available right? Unlike the native Mail app, however, if I clear a notification off of the device, the push notification (especially badges) still remain.

This isn’t just for Gmail, but it happens with Facebook Messenger, Fitocracy, Twitter, and every other app that uses push notifications to alert you of messages, interactions, and whatever else.

I’ll have to dig around a bit, but is this just an oversight by the app developers, or is this a technical limitation for push notifications?

Octocat Attacks: Our entry for the GitHub Game Off

Near the end of October, a blog post from GitHub caught my eye, entitled: GitHub Game Off.

In short, GitHub was running a competition for game developers to build their games, host their code on GitHub, and have it loosely based on a git concept (forking, branching, etc). We were free to build it however we want as long as it could be open source. As a life long gamer, it’s always been a dream to build my own game, and that’s a dream that’s been also shared by awesome guy Wayne Sang.

We had been toying around with the idea of building out a game idea that Wayne had several months ago, and before Game Off, we had decided to build something smaller to get us acclimated with each other’s style and capabilities. GitHub Game Off presented itself as an opportunity to finally make this happen with real deadlines and actual work needing to be produced.

That game? Octocat Attacks.

Octocat Attacks Title Screen

You can view the source code here, and the playable version of the game here.

Most of the rest of this post is going to talk about the development side of things, as there were quite a few things I learned along the way.

Creating the Concept

When Wayne agreed to build a game for the competition, we sat down and hammered out a concept pretty quickly. I suggested that we use Flash, as it was probably the fastest way to get up and running with a game especially with established libraries already available, and that we make a puzzle game because “it’s far easier to build a silly puzzle game than a full blown action game!

Just for the record, I was going to eat those words.

We sat down for several hours to hammer out the concept: it would be match-3 style puzzle, it would be about a giant alien attacking Earth, and various countries coming together to build separate parts of a robot to defend against the alien. The loose association with git was that each country was essentially working on its own “branch” of the master robot repo, and completing a level was that particular country “pushing” their part toward the final product. Each round was timed, and your score affects the quality of the piece that is created, with three different possible tiers in quality, which also affected your final battle with the alien.

I also did some research around the best Flash library to use to build games, and I landed upon what seemed like the most developed and easiest to get started with: Flixel.

There were a handful of other engines available, but Flixel was really far along in development and actually powered games I had heard of (like Canabalt!) and so I ran with it. Just as a side note, once you start using it, Flixel really feels like it was built more for twitch-based games rather than puzzle games, I was lucky to find the Flixel Power Tools set which extends the capabilities of Flixel even further, allowing me to take care of some of the issues I was having with sprites in Flixel.

Starting to Code

Once my environment was set up, I began to write a few test games just to get a feel of Flixel and Actionscript.

Have I mentioned that I haven’t really touched code in a serious way since 2009? Have I also mentioned that I haven’t touched ActionScript since 2005?

Granted, I was very familiar with programming in the first place, so the learning curve wasn’t very steep for me, but it was one thing to be figuring out what I can and can’t do with Flixel, and it was a completely different beast trying to do it while learning ActionScript 3.

However, I got a prototype up and running relatively quickly. According to my records, we started brainstorming on October 27th, and I had a prototype with a 5×7 board full of temporary game pieces that could switch places on October 31st. I was rapidly iterating on the first prototype, creating 90% of the game mechanics by November 12th: puzzle piece generation, piece movement (swapping places), match checking and clearing, and empty space refilling. Nothing was 100% as it should be for a completed game, but it was a very quick start.

Around this time, Wayne chipped in with his awesome pixel art, and the game was finally starting to come together.

Refactoring Mania

Regardless of the level of stability, I was rather unhappy with how game pieces were being moved around and being checked as matches, so I spent a good week refactoring everything. And I mean everything.

Suddenly the game became less jittery and resource intensive, I had created a queue for the checking and clearing of pieces, but I was still being plagued by my code to animate the refilling of pieces on the board. It was a problem that I am still having trouble with to this day, and I feel like I’ve smashed my head against it enough times that I may need to refactor the entire thing to provide a different approach.

Oh well, that’s what branches are for, right?

The important lesson I have is that, and I didn’t know this because I am a complete newbie, Flash and ActionScript 3 runs code synchronously (I think.) This was a problem with the initial way I was refilling pieces, because I essentially had a for loop that would check every single spot on the board, and if there was no sprite within that spot, it would start the animation to move all pieces above the empty square downward to fill the empty spot and create the new piece. However, if you have two (or more) empty squares on top of each other, the new piece creation happens simultaneously and you have stacked pieces in the same square.

As you can tell, I am not very experienced with puzzle game animations!

Octocat Emerges

On November 19th, Wayne sent me an email where he sketched out the alien: he had taken the Octocat, of GitHub fame, and turned it into the alien monster attacking the Earth. It shot lasers from its eyes, it was adorable, and I think it gave me a bit of extra motivation to see this project go all the way.

Alien Octocat

Aw, aren’t you a horrible little creature?

Final Stretch

It feels like I’ve left out a lot of details, but that’s because the entire month felt like a blur. I was constantly trying to fix our animation problem while building out the HUD (score, timer, etc) and the functionality to power the HUD. Wayne was churning out all of the necessary art assets for the game, and it was starting to come together.

Eventually, we decided that we weren’t going to complete the game in time, and we were alright with that. We were both willing to continue working on the game at a more leisurely pace after the deadline had passed, and that’s one of the side projects I am really looking forward to.

At the end of the day, the v0.1 build of Octocat Attacks, as in the one we’re submitting to GitHub Game Off, is a very incomplete game. We have an incomplete puzzle engine, no audio, and our content is far from complete.

However, we got it out there. We took the effort to start our project and bring it this far, and we’re continuing to push on. I’m very happy with how the game looks right now thanks to the hard (and amazing) work that Wayne has put into his pixel art, and our game is functional, which is a lot more than I expected when we started!

It’s been a really fun and educational experience to build a game from scratch, and you better believe that Wayne and I are going to continue developing games.

Octocat Attacks Stage Select
Octocat Attacks Gameplay

“We do enforce this policy.”

I run a very small, very casual video games channel on YouTube called The Blundercast – I just record, edit, and post silly little moments that happen while I play games. It’s very much a labour of love, but I do happen to monetize a few videos just for a bit of coffee money here and there.

Most recently, I posted a video where I played Scribblenauts Unlimited and had fun on a mission.

I did attempt to monetize this video but was abruptly stopped by YouTube.

YouTube:
We may consider your video(s) for further review provided you verify that you are authorized to commercially use all of the elements of your content. This includes all video, images, music, video game footage, and any other audio or visual elements.

Fair enough, I’ve run into this before. I explained:

Me:
This video is a video where I have fun with a small portion of the Scribblenauts Unlimited game. It was created solely for the purposes of entertainment and education and is all done in fair use.

Makes sense to me, you learn about the game and you can enjoy watching me make an ass of myself on the internet. However, it got rebuffed with a request for information regarding formal permission and/or terms that would allow me to post the video.

I reached out to WB Games, the publisher of Scribblenauts Unlimited, to get this permission, and got this response in a few hours:

WB Games Support:
WB does not provide formal permission to post videos on YouTube or similar sites. Generally we don’t mind fan videos so long as you’re using legal copies of the game, are not being posted to make a profit (through advertising or other means), and are in good taste.

Hmm… not being posted to make a profit? What about the hundreds of videos that do just that on YouTube? Do they all have a standing agreement with WB Games that allows them to post and profit off their videos? Or are they in danger of having WB enforce their policies on them?

So I asked to clarify, especially with regards to YouTube partners, and got this response:

WB Support:
WB does not give out any formal permission. We also do enforce this policy.

And now we’re back at square one.

I understand you want to protect your game, but we’re giving you free marketing at no cost. I’m not entirely sure why you would be against that?

It is a silly place.

Thoughts on Ubiquitous Photography

Photography is Fun!

If you follow my blog (hello, all five of you!), you’ll have seen a post I made in October talking about scaling back in social media. Funny enough, there was something else that I subconsciously scaled back: capturing moments with my camera.

I like to think I’m a photographer. I bust out the camera, whether it is my phone or my SLR, at every opportunity and I enjoy snapping a few photos. Perhaps capturing a video while I’m at it.

But lately?

I couldn’t put my finger on my hesitation to use my camera as of late. I enjoy capturing moments, especially with friends, that I don’t get to regularly enjoy. Even when I eat meals that I don’t normally eat, I used to take photos.

So… what’s happened?

I could make excuses like some abject sadness that’s taken over my life, or that my iPhone’s camera no longer wishes to operate without heavy persuasion, or even the very unlikely scenario of extraterrestrial life showing up on Earth to steal my camera.

None of these are true, but I think I finally figured out what’s happened: I’ve shifted my priorities from “capturing moments” to simply “experiencing moments.”

It’s one thing to be able to look back on all the great photos I’ve taken of really unique experiences, but it’s completely different to be entirely immersed in your experience and simply enjoying it. My guess is that ever since Instagram blew up, was bought, and everyone started posting photos of their food and some random brick wall they found (which I was also guilty of), I’ve grown an aversion to wasting valuable experiences by being focused on taking photos of it rather than actually participating.

Sure, I can take photos of food that I am eating, but I will immediately put my camera away after the shutter snaps and pay complete attention to my meal and my eating companions.

I’d rather enjoy what little time I devote to my friends, my family, and the experiences that we share, over being able to show strangers on the internet what I am currently doing.

I raise my glass to you life bloggers and sharers, but it is definitely not for me.

Stop using social channels to push, start pulling.

It feels incredibly weird that I still have to say this near the end of 2012, but stop using your social channels to solely push content.

Yes, you have a captive audience. Yes, they want to hear what you say. Yes, they will retweet and like and re-pin every trivial thing you push out there.

But why aren’t you listening to them?

If you follow me on twitter, and actually manage to catch me tweeting, you might know that I’ve been disappointed with GoPro and their lack of responsiveness.

Now, I’m a huge fan of GoPro. I have loved their products since the very start, and finally bought one with the announcement of the HERO3, simply because it could shoot 720p video at 120fps. Seriously, that’s all I wanted.

Well, I received my GoPro HERO3 Black Edition on Wednesday, November 14, 2012, and I spent the better part of that night playing with it. Learning the ins-and-outs, I quickly became accustomed to it and so I started to connect it to my accessories – no problems with the wi-fi remote that came with my HERO3, but any and all instructions on connecting to the GoPro iPhone app, which was pimped out on my packaging and all over their website, were for the HERO2 + Wi-Fi BacPac, and even a manual firmware update didn’t do a thing.

What?

So I tweeted GoPro, thinking I’d get a quick response (they were tweeting at least once an hour at that point) but it never came. I tweeted again the next morning, thinking business hours would catch them, but… nothing.

It turns out, GoPro doesn’t respond to anyone. At all. Not on Twitter, not on Facebook, nothing. Hell, right now, I’ve been intercepting messages to their Facebook page and answering the questions that pop up about the HERO3 Black Edition and connecting to the GoPro app.

NOTE: The solution, if you were wondering, is that there is none. The HERO3 Black Edition won’t be getting a firmware update until December 14, 2012. That bit was buried in their features page for the HERO3, so I can’t complain about not being told. However, it still sucks that the packaging lead me to believe otherwise, but I can’t be mad about it.

I sent them an email to plead with them to engage with their audience. They may ignore it, and that’s most likely going to happen.

However, if you run any sort of consumer-facing company and you still don’t get it: PLEASE engage with people on your social channels.

I’m not asking you to respond to trolls and haters (though it’s an opportunity to swing them into your favour with your great responses) but I am simply asking you to fully utilize these channels that people come to have their questions answered and even just tell you how awesome you are. Plenty of companies are doing this correctly, and even if you’re the market leader in the industry (looking at you, GoPro) you should do everything in your power to build walls against any eventual competitors that come your way.

Stop just pushing, start pulling.

FreshBooks + Stripe = Freelancer’s Best Friend

As an occasional freelancer, one of the more painful aspects in my day-to-day operations is the invoicing and payment collection.

Now, I’ve used FreshBooks for a good long time for the freelancing side of the business, and it has always served me well – keeping track of billable hours and expenses – but I’ve always found payments to be a tad annoying. The previous payment gateway I used was Paypal, simply because there weren’t any other useful alternatives.

And then, Stripe came to Canada.



style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-9705548764325874"
data-ad-slot="7669798281">

Oh happy days! Stripe makes online payments with credit cards much, much easier, and when coupled with FreshBooks, it makes the collection of payments for invoices that much easier as well. Payments can now be made directly inside of the FreshBooks interface, and the payments will go directly to your bank account rather than sitting inside of Paypal.

To get started, you’re going to need an account for both FreshBooks and Stripe. Here are the sign-up links for those interested:

FreshBooks (Affiliate link!)
Stripe

Once you’ve signed up for both services, go to Stripe and click on the “Your Account” button in the top right and head to “Account Settings” and navigate to the “API Keys” section of the settings popup.

API Keys from Stripe

You’re going to need the “Live Secret Key” in a minute, so keep it handy.

Next, click on “Settings” in the top right part of your FreshBooks account, navigate over to the “Online Payment” page, and click the box next to “Stripe”. A new section should appear asking for your “Live Secret Key”. Paste it in here, click “Save”, and you’re good to go!

Now, when clients want to pay off their invoices online using a credit card, they’ll see this button at the top of their invoice:

Stripe Invoice Payment

And clicking on it will bring up this payment form:

The real advantage, in my opinion, is that I can now control the entire branding experience, rather than having clients taken away to Paypal and then being directed back. The flow of payments is far easier, and you can still leave Paypal as an additional option if your clients really need that.

Happy freelancing!

Scaling Back on Social Media

ContextBot
From: ContextBot – xkcd

For the past few months, I’ve been scaling back on the amount I share on various social networks. My tweets have been coming with less frequency, I no longer use Path or Instagram, and I’m not sure I am even using Pinterest correctly.

I’m not knocking anyone who uses these platforms on a regular basis. They’re definitely where the digital world is heading, and people are definitely integrating them into their day to day communications.

But it’s just not for me.

This, coming from the guy who would post food photos at every opportunity, or would use twitter as a complaints board. It really just isn’t for me.

Why was I posting food photos anyway? What value was I contributing by doing so?

I couldn’t answer that question to myself in a satisfactory manner, so I stopped. Instead, I wanted to take the time I devoted to dilly dallying on social media outlets and divert it into being… a person. I wanted to have good conversations and not look at my phone. I wanted to write and create rather than consume the social channel feed.

And that’s where I’m going: back to creating.

Being Lost

Hi, my name is Jon, and I’m a bit lost in life.

*pauses for greetings*

I’ve spent the last month flip flopping between ideas, contemplating re-joining the working force, and generally being unhappy. I started September with the idea that I could take a serious attempt at becoming a good developer and building a web product that would give me some level of monetary comfort. Progress was good, until one day I sat down and just did not feel right.

I beat myself up for pursuing ideas purely for the sake of a piddly amount of money, ideas that did nothing to better the world. In short, I felt that I was selling myself short and I was underachieving.

From there, I set out on the hunt for ideas that could make a meaningful impact on the world, to society, or at least better the lives of those who really needed it. However, this started this rather vicious cycle of falling in love with an idea, realizing that I don’t have any sort of expertise in this space, and becoming dejected at the idea of being “just the business guy” in a venture, and then being sad and frustrated that I haven’t figured things out yet.

Right now, there’s no happy ending in sight.

So why would I bother writing all this out and telling people? Because, as awesome person Guy Gal told me when I told him this story randomly: “Success is all in the recovery.”

Things will get better. Eventually. And no, it won’t be because I wait patiently for an idea to strike home; things will get better because I will work hard to create opportunities for myself. I am going to go out there and pound the pavement, meeting new people and learning about problems, and taking a crack at creating the solution. It’s going to be disheartening, frustrating, and difficult.

But who said success was going to come easy?