Adobe Community Professional in 2011

28 01 2011

I’ve just been accepted into the Adobe Community Professional program for 2011. Having just moved to the US, this is going to take some work – but I’m certainly looking forward to it.

Thanks Adobe.





Flex code injection using conditional breakpoints

20 01 2011

So while it’s not new news, something I saw in a video from MAX 2009 on Flash Builder 4 last year really stuck with me. And, it’s been saving me day after day on this massive project.

It has to do with conditional breakpoints in FB4. On top of the normal, if x == true conditions, you can use a sneaky comma trick to inject code.

It’s simple, you enter true (1) or false (0) in the box (depending on whether you want the breakpoint to pause execution) and then add any expression(s) you want, separated by commas. The beauty is that these expression(s) is/are evaluated regardless of whether the breakpoint is executed or not. That means you can inject code into a running debug session without stopping to compile and rerun.

There are two main usages I’ve found for this feature:

Inserting Traces

I regularly find myself tracing through asynchronous operations, trying to figure out the order of events and properties at the time. Sometimes (and this evokes one very painful memory) I’m tracking multiple timers and I can’t learn anything from breakpoints, as I need to get an idea of the order of the ticks (and the corresponding events that are firing).

These scenarios make them a perfect candidate for the injected trace. Try this:

 

FB4 Conditional Breakpoint Dialog: Tracing

FB4 Conditional Breakpoint Dialog: Tracing

 

Modifying Properties

The other main use-case is the all-too-common scenario when you want to change a property mid-execution. We’ve all been there – myself just today.

FB4 Conditional Breakpoint Dialog: Property Setting

FB4 Conditional Breakpoint Dialog: Property Setting





Developer Prototypes: the Extrovert

19 01 2011

The Extrovert

The extrovert is a strange creature indeed. Comprising only a tiny percentage of the market, he commands nearly thrice the attention. Think shy, think quiet, think reserved, think taciturn. He is none of these things. He excels in creating social connections – and often uses his charm to his advantage. Those weaker in the art often have few enemies. Masters have none.

Extrovert

Indicators: Rambunctious displays, gaudy outfits, frequent near-gaffes, ambitious tendencies.

Specialties: Front end development (Flash, HTML) – sometime a little design.

Diagnosis: Needed attention as a child – possibly youngest of a large family.

Pervasiveness: About 0.05% of the software development community.

Treatment: Extroverts are generally best countered with other extroverts; careful though, because this can also lead to a dramatic showdown.





OS X vs Windows 7 on an MBP

14 01 2011

I have an MBP from mid-2009. It’s a great little machine – a 13″ that I’ve bumped up to 8GB RAM. I’ve been a long time Windows user, however there are a couple of things you should know about me:

  • I used Solaris almost exclusively at university, and I’ve been using Ubuntu on and off for the last few years.
  • I’ve never had anything against OS X per se, I just have never really been exposed to it.

So, I’ve been on a mission to use OS X exclusively on my mac, without Parallels or VMWare, and only rebooting into Win7 when I have a major issue.

Here are my findings. I’m aiming to be as objective as possible.

Pros

  1. Better hardware integration
    While improved drivers in Bootcamp have helped, Windows 7 still lags behind. The most notable difference is how long it takes to come out of sleep (seems to be USB driver issues). OS X is super snappy on the MBP.
  2. Intuitive UI
    Nice use of gestures. System dialogs are less form-based than Win (ie. no need to click submit/apply/ok/save).
  3. Notifications
    I love Growl – and it’s terrible on Windows. To be fair, this is partially an idiomatic difference. It seems that Growl has become a de facto part of the OS X experience, so the decision by developers to integrate with it is almost a fait accompli.
  4. Unix commands in terminal
    The DOS command prompt has nothing on a linux shell. Using knowledge from unix on my native OS is a big plus.
  5. Good native applications
    Windows is still behind the ball on this one. iMovie, iPhoto, iTunes are all a MUCH better than their Windows counterparts.

Cons

  1. Window management is cumbersome
    Switching between, sizing and minimising windows on OS X is cumbersome at best. I find it very hard to believe that I’ll “get used to it”. I’ve asked Mac-heads to help me here, and more than a couple have just shrugged. (I even “lost” a window at one time, with the control bar out of sight. I tried apple scripting amongst other options to get it back – no banana). CMD + ~ to switch between windows I may have minimised – is there not a better way? What if I want to maximise something to the entire screen? I have to drag it across? Seriously?
  2. The Dock
    Document handling is messy. I guess you *could* get used to it, but putting thumbnails of docs on the bar unrelated to their application feels wrong. Also, while the light under the application icons signify it as “open”, there is no easy visual cues as to how many windows it may have open (of course it heads to my docs area, and i know i can click and hold the icon, but still – not fluid enough for my liking). The Windows 7  solution of layered boxes and semi transparent thumbnails of each window on icon hover is enviable.
  3. Experience based on applications
    A lot of the experience around OS X seems to resolve around a unified experience on the device. This comes via software which has the look and feel of OS X. To a user, it makes a lot of sense – I love the integrated feel of iOS (incidentally the exact direction OS X seems to be going in). It’s just that if you want/need applications that aren’t designed for the Mac-experience, you’re often bound for disappointment.
  4. Cannot write to NTFS
    This is a big pain when you’ve got an external HD that isn’t FAT32. To be fair – NTFS is Microsoft’s solution, however this omission can make the transition to OSX from Windows a painful experience.
  5. It doesn’t always work
    It just works? This slogan was immensely popular back when Windows still suffered those embarrassing blue-screens. But I tell you – in one week I managed to crash OS X twice. When I say crash, I mean the spinning wheel of death and a completely unresponsive UI – which included Force Quit and Terminal (to be fair, I was running Citrix one of those times).

Two noteworthy omissions:

One thing I haven’t decided on is the unified menu bar. I’m not sure if I like it or not… Logically, it makes a lot of sense – especially when you have multiple windows open.

The other is the context (right-click) menu. It seems that Apple has fought this one for quite some time. Even though right-click now exists, it feels as though it’s looked down on from a design standpoint. Maybe I’ve grown up in a Windows-centric world, but it makes a lot of sense to me when I see something on the screen, I want to interact with it to see what options are available – seems fairly logical to me.





Thoughts on Kickstarter

13 01 2011

The more I look at Kickstarter, the more opportunities I see for my friends and family.

If you don’t know about Kickstarter – it’s a startup that allows anyone to create a project, and set the amount of funding they require and the amount of time to raise it. They then advertise it to their social network (or anyone really) and users pledge a sum of money to the project. The crux of the idea is that the “pledge” is just that – if the project doesn’t reach it’s goal in pledges, the project is cancelled and no money changes hands.  It allows you to both crowdsource funding, build interest in the project and get a hint if it is viable in the real market.

It seems the best projects that suit Kickstarter are tangible items. The pledgers like to get something back for their commitment (as you’d expect). A great example is the iPod watch that has almost sourced $1M from users.

A counter example is Diaspora – the new open social network, where users own their own data (as opposed to FB). They offer tangible rewards, although it seems the pledgers are more into the project idealistically.

Regardless, I can think of plenty of examples where Kickstarter could help – particularly for my not-so-technie relatives. My sister who is putting together some Medidation CDs? A friend who wants to do more with her sewing? A close friend who’s been dying to shoot a short film idea she has?

Techies – tell your friends and family. This may be the edge they need to release their creative beast.