Archive for October, 2011

My SenchaCon Hackathon Entry

Friday, October 28th, 2011

The last day of SenchaCon was a hackathon, where everyone that stuck around (probably over 100 people) grouped together and hacked away to see who could make the coolest one-day project. There were a LOT of great apps, and several came away with cash and prizes (all of it very well earned!).

Not featured in the winners list is the app I made, because I missed the submission deadline by about twenty minutes. All this because I lost far too much time debugging issues with HTML5′s native drag-and-drop API. (I was planning on writing a rant about it, but Quirksmode beat me to the punch.)

In any event, I’ve uploaded the incredibly raw creation, and you can now play my simple HTML5 Video Puzzle Game. I only tested in Chrome, but it seems to run alright in the latest Aurora build of Firefox. Basically the app loads up an HTML5 video, slices it into 16 canvases, and scrambles the pieces. Your job is to re-arrange them by dragging them back into place (using HTML5′s native drag-and-drop, of course).

It’s really, really unpolished. I spent all of about 8 seconds on the styling, and there are a lot of features that are complete but inaccessible (like slicing the video into more pieces). I might try to fix it up later.

Anyway, the whole day was a lot of fun, just like the rest of the conference. It would be awesome to go again next year. We’ll see!

Until then, happy hacking, all my fellow attendees!

Speaking at SenchaCon 2011

Monday, October 24th, 2011

Most Sencha Touch applicaions are small, single-purpose mobile apps. Those aren’t the ones I’m talking about.

Over the past 9 months, I’ve worked on a Sencha Touch app with a team of 15 people. It’s for a major, world-famous client. It contains tens of thousands of lines of code. It could be the biggest Sencha Touch app ever built.

My talk will be about how we built it, and how we made it perform well despite the sheer size of the application.

If you’re at SenchaCon, and this sounds like something you want to know more about, here are the details:

Time:
11:35am — 12:20pm

Session Name:
Community Code: Macadamian

Location:
Grand Ballroom, Section 3, 6th Floor

Hope to see you there. I’ll be the guy glowing with enthusiasm :)

Back from Europe

Monday, October 17th, 2011
Swiss Alps

Click for full size.

We had a great time.

Classics Week #3: Opera vs Reality

Monday, October 10th, 2011

This post is part of the Classics Week(s) feature, which will run for three weeks while I’m off overseas. This week’s post was the first to be published after the switch to regular, weekly updates. Here it is again, better than ever!

2009 was an exciting year for the web browser crowd:

  • Google released Chrome.
  • Apple ported Safari to Windows.
  • Firefox picked up a lot of market share.
  • Microsoft actually produced a half-decent version of Internet Explorer.
  • The iPhone and Android finally made mobile browsing popular.
  • Support for HTML5 and CSS3 was way up across the board.

The term crowd is especially appropriate here because it really is starting to get very crowded. For a long time the browser war has been fought largely between two major players at a time (IE/Netscape, IE/Firefox) and all of a sudden we have four major companies with fantastic browsers available to the vast majority of users.

Oh, and then there’s Opera.

Here’s the thing about Opera…

Opera is in serious trouble because it doesn’t have a “thing”:

Internet Explorer’s thing is its existing market share. It has a lot more users than everyone else, so its going to be relevant for the foreseeable future.

Firefox’s thing is its community. Not just its core developers, but the people who create addons or personas or rally everyone they know to go download the latest version on launch day. It’s easily the most passionate user group of the bunch.

Chrome’s thing is its brand. When people think web, they think Google. Google has the best search, the best email, why not the best browser? Users rely on Google for a great online experience, and Google has a lot of high-traffic areas where it can push Chrome.

Apple’s thing is its loyalty. Apple fanboys are a loyal bunch — most of them will stick with Safari on their Mac and many will consider getting Safari for any Windows computers they’re forced to use. Apple also has the iPhone, which gives it a growing space where it has the only browser (not that any iPhone users mind — loyalty, remember?).

What does Opera have? The Wii? Please.

  • It used to be the most advanced browser for HTML5 support, then everyone else caught up.
  • It used to be a major player in the mobile space, then Apple and Google obliterated it.
  • It used to be a fun browser for geeks to talk about, but now the buzz is all Chrome.

Simply put, it’s not enough to be an alternative to IE anymore; users are demanding more from their browsing experience, and they’re flush with places to find it.

Any Opera fans out there?

What’s even worse is that there isn’t really anything you or I can do to help.

Opera’s engine isn’t open source, like Gecko (Firefox) or Webkit (Chrome/Safari), and it doesn’t benefit from a strong plugin community, like Firefox/Chrome. It isn’t an OS-default browser like IE (Windows), Safari (OSX) or Firefox (linux). Even if I wanted to rally some Opera enthusiasts, where would I start? How many people do you know that have even heard of Opera?

I don’t have anything against Opera (it’s a fine browser), it’s just it has fallen behind the times — there are too many better options around preventing Opera from picking up new users, and I can’t think of a single significant reason for its existing users to stick with it.

Do you use Opera? Care to share any thoughts on Opera’s future?

Classics Week #2: Make Every Day New Year’s Eve

Monday, October 3rd, 2011

This post is part of the Classics Week(s) feature, which will run for three weeks while I’m off overseas. Like last week’s resurrection, this is an old favourite of mine, updated for your reading pleasure.

One of my favourite things about New Year’s Eve is making resolutions. You know, those promises to ourselves that we can never seem to keep.

I like this ritual because I like setting goals for myself. One of my resolutions for 2010 was to have a new post up every Monday (a tradition I’ve kept to this day). I made other resolutions that year as well, and as ridiculous as it sounds, by March I was already planning resolutions for the following year.

That’s when it hit me:

Set goals more than once per year.

Why wait until some arbitrary holiday to set goals for yourself?

You can set realistic, helpful, attainable goals right now. And they don’t have to be scoped to a full year, either.

Mix it up and have some that are month- or week-based. Short-term goals are easier to keep, provide benefits right away, and can help build confidence to hit more lofty goals that take a bit longer to reach.

Here are some goals that I’ve set for myself recently:

Each of these goals has taught me something interesting.

I’ve learned that writing blog posts gets easier the more you do it. That cooking a full breakfast helps me sort out my day (and is delicious). And that I am absolutely not meant to be up at the crack of dawn.

This brings me to my next point:

It’s ok to fail.

Many of my goals don’t play out exactly as planned, and sometimes they get completely cancelled if they turn out to be terrible ideas (6:30 mornings, I’m looking in your direction).

The point is to experiment and see what works for you.

Instead of becoming discouraged when you’re consistently not hitting a goal, pause and consider if this is really a goal worth pursuing. Did you over-estimate how much you could do? Is there a better way to get the result you were after?

Often it’s the goal that is the problem, not you.

Here’s how I hit my goals:

I use a few simple tricks to keep up with whatever goals my past-self may have signed present-me up for. This is what works best for me:

First and foremost, I try to be realistic. It won’t do me any good to set a goal that I won’t be able to reach, so especially for goals that are more than a week long, I’ll run my idea by someone I can trust to give me honest feedback.

This way if a goal is too ambitious, at least I’ll have a red flag telling me that I may need to adjust my targets. Of course, ultimately I know best; if I really think I can do something, I’ll still try it even if the feedback I’m getting back isn’t all roses.

Second, I find it helps to tell people if it’s an interesting goal (like breakfast). Maybe they’ll want to do it too, which makes motivation easier, or maybe they’ll pressure me into remembering to do it, which is nice when needed.

I find this works really well for me, for certain types of goals. However, it seems my opinion on this subject is not very popular. Your mileage may vary!

Third, I find it’s important to give myself visual reminders of my goals.

The tool I use most for this is a web-based task-management application called HiTask. For my month-long breakfast experiment, for example, I added a task to HiTask with a flashy-coloured label and a star, so that it really stuck out and was always at the top of my to-do list.

Low-tech works as well: At the start of the year I printed out a grid of every Monday in 2010, broken down by month, so that I could check them off after publishing each weekly post.

Does any of this sound useful to you?

I’d love to hear about what’s helping you hit your goals right now. What tools do you use? What strategies work for you?

If you haven’t set any goals for yourself lately, why not start now?

(What do you have to lose?)