Adobe: Official Maven support is coming

11 10 2011

I recently spent a lot of time at AdobeMAX hassling the Flashbuilder team on what the deal is with Flex and Maven, and we’ve finally been given the word: support is coming – we just don’t yet know what form it’s going to take.

Step One: Hosting the framework artifacts

The first step towards Maven support is for Adobe to start hosting their releases in a Maven-friendly way. They have admitted that this is on the cards for them, but steered away from specifics. They have two real options here – either they submit their artifacts to Maven Central or they set up and deploy to their own public Nexus. Many of us in the community would like to see the former before the latter. Having AS3/Flex/AIR projects build out of the box without requiring any external repository would be a great start (Maven Central is referenced in every execution via the super POM). Currently while the Flexmojos plugin now lives in Maven Central, we’re still reliant on the community (specifically @velobr) to deploy the latest JARs, SWCs and RSLs to Sonatype.

Nevertheless, if Adobe were to host a Flash artifact repository, it could become the central repository for the community to deploy their own open source libraries. This could include tools such as unit testing libraries (FlexUnit, ASUnit), mocking tools (Mockolate, Fluint), micro-architectures (Robotlegs, Parsley), utilities (as3corelib, AS3Signals, RxAS), etc. This would then be the go-to for all Flash developers new to Maven. And, we could finally answer the question plaguing all Maven/Flash newbies: Where are my dependencies???

Step Two: Either sponsor, fork or replace Flexmojos

The next step is for Adobe to decide what to do with Flexmojos – the open source Maven plugin that compiles Flash artifacts. Because it’s open source, they don’t want to usurp the hard work of the community and completely take it over as-is. As I see it, they can either fork it in its current state, sponsor it with funding and their own development team, or start again from the ground up and target Spark and above. In its current state, Flexmojos 4 (4.0-RC2 is the latest) is well equipped to deal with the needs of Flash projects up to and including Flash Player 10.3 (albeit with some bugs). Going forward however, we have no assurance that Flex 4.6 or AIR 3 will be supported out of the box, and I have doubts that the community alone will keep the pace.

Moreover, many of us Flash/Maven advocates are in enterprise development and find it hard enough to convince our customers to rely on an open source initiative that isn’t maintained by Adobe, let alone officially supported or sponsored. If Adobe get behind a Maven plug-in and put their stamp on it, we’ll have a much easier time advocating it to our clients.

Step Three: Integrate with Flashbuilder

Last but not least, is Flashbuilder (FB) integration. The current situation is fairly dismal. Flexmojos 3.9 was the last to officially support the flexbuilder/flashbuilder goal – the process which generated the project structure in Eclipse from your POM (creating and configuring .project and .actionScriptProperties among others). It’s been removed from Flexmojos 4 and there is currently no robust way to keep FB abreast of the latest changes in your POM. You can run the old 3.9 goal for partial results in FB 4.5, but it’s more hassle than it’s worth. Keeping large teams in sync across a complex project is cumbersome at best (and don’t get me started on checking in .project files).

While m2eclipse – the Maven-Eclipse plugin – provides the functionality required to run Maven within Flashbuilder, it is not integrated with the Flexmojos plugin. Put simply, m2eclipse is a lot less powerful with Flashbuilder than it is with typical Java projects in Eclipse. Updated your POM with a different Flex SDK, added some dependencies or a new runtime module? Fine, just make sure to tell all the developers to update their workspaces manually – otherwise either switch to IntelliJ or wait for Flashbuilder 5 (we hope).

Looking forward

The first step in a long process has begun. Adobe are taking the plunge into Maven compatibility and it seems the Flashbuilder team are our best hope for the future of the union. We know support is coming, but how exactly it will pan out is still up for debate. Hopefully we’ll have an answer before the end of the year, but I won’t be holding my breath.

The latest

Want to keep abreast of the latest developments, here’s a list of people to follow:





YCNYC: A lost opportunity.

27 09 2011

Man, was I looking forward YCombinator’s (YC) first New York event last night. Shrouded in secrecy and anticipation, I was eager to see the people behind the famous incubator – the enigmatic Paul Graham (PG) and some of the other power brokers from the West Coast. What I wasn’t anticipating was an event with an unclear theme, little insight and a collection of anecdotes from some of the most respected people in the industry.

organization: 5 ⁄ 5

If you’ve ever tried organizing an event with well over 1000 pax, you know it is no mean feat. The fact that the line of attendees stretched well around the block and yet moved smoothly gives true credit to an incredibly well-run event. The space itself was well laid-out, and everything flowed together beautifully. Even the complimentary beer and pizza was a pleasant – if a little cliched – surprise. Kudos to the event manager.

Yet I would have given that all up to hear something I didn’t already know. To be amazed. To be wowed. These are some of the best and brightest from the tech scene in the US and they can’t even get themselves together to create an engaging event?

this is Paul Graham

When PG took the stage, it was a non-event. I was expecting great fanfare but no, he simply strode onto stage and started speaking. Yet the crowd truly loved him. It’s hard not to – he is casual and unassuming. He radiates good-naturedness and oozes integrity right down to his polo and shorts. But the feeling I experienced was somewhere between admiration and embarrassment. This was clearly a man in the know, though why he was so obviously distracted I have no idea. The short breaths, the continual ummms, the pacing, the hand-written notes, the lost placing. Perhaps he’s not a great speaker, but I’m not so sure. This man is by all accounts one of the most influential in the tech startup scene across the US, and he reeked of unpreparedness.

He mentioned that they weren’t sure how receptive New York would be to the event. From the turnout, it was evident that we were drinking the Kool-Aid as much as there were in the Valley. Surely YC had known the interest levels from the booking form which closed some weeks back – yet PG didn’t seem to have a clear direction in his speech.

He wavered between a friendly familiarity with YC – peppering his talk with anecdotes on alumni and VCs in one breath – then going on to expound on thoughts as to why environment plays such a heavy effect on motivation. There was no introduction about YC, the school, their process – it was more a working theory on why the East Coast is vastly different to the West. One story painted eastern VCs as less savvy than their Californian counterparts; great to know, but why do you think that is PG?

He suggested East Coasters should take the plunge – join the YC school for a few months. But he didn’t even touch on the process they use to choose startups. What are they looking for? Obviously hardworking individuals who are passionate and dedicated, but what else? Personal traits or characteristics? Emotional maturity? How about the kinds of achievements they’ve accomplished? What about matching founder personalities? Which characteristics suit which in his experience?

He did touch on key point in regards to New York and tech talent: the spectre of Wall Street. In no uncertain terms, he outlined that the challenge facing us developers in New York was resisting the monetary rewards of the financial sector. He then laid out the benefits of the startup life as opposed to that of Wall Street. It is a relevant discussion, and one that I think leads to an interesting debate. Unfortunately there was no real forum to this speculation, and it was left at that.

His entire speech was essentially the introduction to the evening and yet there was no clear message. There was no point. What were we really doing there Mr Graham?

the Q and the A

After PG’s speech came the Q&A. I feel they (or at least Alexis Ohanian) honestly tried to put some interactive content into the evening, and should be commended for it. Nonetheless, it would have helped to have given the audience some forewarning as to the event theme and structure to help us ask more poignant questions. If I knew PG was going to get specific on Startups vs Wall Street or even West vs East Coast VCs, I definitely would have had a few questions up my sleeve.

Perhaps a better alternative is to ask live questions from the audience, allowing us to digest the information we’ve been given and ask relevant questions that follow from what has been presented.

alumni presents

After the Q&A came the YC alumni presentations.

While some of the founders’ stories of hardship were tough, sleeping on the floor of an office and using your shirt as a towel are definitely first-world problems. As anyone who’s ever tried to make it in a startup will tell you – back to back 18 hour days are nothing. Facing eviction, the degradation of family and close relationships, weight gain, sleep loss, deterioration of health, endless stress – are all part-and-parcel of founding a startup.

What I’d like to hear more of is how they dealt with the depression, the emotional stress. When they were in the Trough of Sorrow, how did they find the strength to keep going? How did they resist the sway of those who sell them exactly what they want to hear, all because they are so emotionally tied to their venture that they’re easy game for anyone with half a trick?

What we got was the same old mantra: work hard, build it first, stick it out, believe in yourself, listen to your users, it’s gonna be tough. There’s only so much you can hear the same rhetoric before the condescension kicks in.

It would be remiss of me not to point out two standouts from these presentations. The first was the founder who mentioned PG’s The Process graph, outlining the typical phases a startup lives through. The other was from the Airbnb designer & founder who mentioned one of PG’s directives “do things that don’t scale” – focus on the users you have and wow them in some non-technical manner.

startup.com ⁄ jobs!

After a few of the alumnis had done their rounds, it was becoming apparent that there was indeed a common theme to their decks. This beer-and-pizza event was a mere talent scout. (Ye gads!) Presenter after presenter repeated the same tired lines: IF you’re curious about startups BUT not yet ready to take the leap of faith THEN join us instead.

Now I don’t begrudge them hunting out talent – and hats off to them for being open about their businesses and heartaches – but I would have found their bitter pills much easier to swallow if I knew that’s what I was in for in the first place.

Here’s an idea. Why not setup small stands at the event with someone from their recruiting team to promote their startup to the engineers? Hardly revolutionary, but it gives attendees somewhere to go if they’re interested and want to continue the conversation about some company they’re curious about. People mill about and meet over a particular startup – perhaps it’s the problem trying to be solved, maybe it’s their design or energy. By having the stands it effectively channels people of a particular interest to a certain area – a handy feature when you’ve huge crowd of people in a large space.

networking

PG mentioned in his speech to mark your name badge with an ‘X’ if you were on the hunt for a cofounder. There was a lot of chatter about the networking, but little in the way of structure.

In terms of networking, who was in the audience? There were a few thousand people milling about and only YC really knew the makeup of the crowd. I made a few introductions and asked some questions but my guess is inconclusive at best. Why not have a presenter ask some questions of the crowd. Say, hands up or some such – give everyone an idea of roughly who was there for what. To me it seemed like mostly developers sprinkled with some founders and ex-founders though I’m just guessing.

How about a system established prior to the event where attendees wear either an accessory or article of clothing based on what they offer and what they’re looking for. Perhaps a tie if you’re an MBA looking for a tech. Maybe a vest for investors. Black T-shirts for developers of course. Or what about creating a twitter board where people could add their handles to notice boards based on skills/roles and people could look them up online based on categories. You could search out talent and try hunt them down at the gig.

the aftertaste

Although it is too late to avoid being labeled a cynic, I felt as though the whole evening was merely a big YC circus meant to drum up enthusiasm for engineers to work for startups. There were mixed messages from PG and the startups themselves, and they oscillated between treating us as peers and as admirers. On the one hand, they’d be talking about the scene, their stories and their failures, and on the other they were endlessly filling our ears with tripe about hard work and endurance, “you can do it” and a can-do attitude.

In all honestly, I wouldn’t have minded so much if there was more transparency about the stated goal of the event, and a little more targeting to the different categories of developers and founders in the audience.

Takeaways:

  • Be transparent: don’t keep us in the dark, tell us what the purpose of the event is. Tell us more about YC and what you do.
  • Be consistent: there was no real theme to the event; no strong message other than “work hard”, “don’t give up”.
  • Tell us what we don’t know: we’ve come to see some of the best talent in North America, teach us something we can’t learn online (we know to “find a problem to solve” by now).
  • Innovate: use your creative talent to generate a more interactive event. Take live audience questions, poll us, have a East Coast VC defend their turf, allow for quick 30 second audience pitches, generate networking interest with methods to break up the crowd into relevant groups.
  • Engage: talk to us, learn who we are and what we represent.
  • Share: take what you learn from us and share it back to the community.

YCombinator, this is New York city and if the turnout is anything to go by – we love you. We adore you. Tell us more about your incubator. Blow our minds with your insights and your prescience.





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.





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.