The Blog
May 31, 2008
Build a Team by Having Them Shoot Each Other
Highwinds had its first team building event for the year at
Orlando Paintball. Ken got
a bunch of great pictures if you want to see them.
May 22, 2008
More Press for StrikeTracker
You know, as a software engineer it's a real treat to be working for a company that gets positive press for their software; it's a totally different experience from being part of a nameless corporate IT department in a timeshare company (as I was before).
"In a separate release, Highwinds announced an update to its StrikeTracker reporting and analytics platform. Version 1.5 of the platform provides real-time analytics, allowing stat junkies everywhere to see how their content is performing without continuously refreshing Omniture. [Ed. note: Like we here at Contentinople do.]"Yep - that's my team's work. We're locked in step to release StrikeTracker 1.5 within 30 days and we can't wait to get it out in to the world.
The article linked to above also mentions our partnership with
Black Arrow. I can't tell you exactly what we have in mind for this partnership, but I can tell you it will knock the industry's socks off. As always, I'll reveal as much as I can as often as I can right here on my blog.
May 19, 2008
BusinessWeek: The Mac in the Grey Flannel Suit
More fuel for the "Macs in the corporate world" debate.
Interesting things to note:
- Juniper Networks is letting 10% of their workforce use Macs on a trial basis. Their CIO guesses that about 25% of the company would use a Mac if they opened the floodgates.
- 87% of companies surveyed recently had at least some Macs in their offices, as opposed to 48% two years ago.
- CEO Scott Kriens at Juniper is quoted as saying:
"It's not anything to do with negative perceptions about Microsoft. It's just that Macs are cool."- CIO of Dimension Data Mark Slaga says:
"Steve Jobs doesn't need a [corporate] sales force because he already has one: employees like the ones in my company."- The article makes a case that Apple is too secretive to make serious relationships with corporations. This seems like a fair statement to me.
The funny thing is, the more I think about it, the less I think Apple really wants to be part of the corporate world. This doesn't mean that they won't continue to sell computers to corporations; I just don't think they care specifically about the corporate market.
The truth is, if they can satisfy consumers at home, they will continue to be successful; the corporate market is just icing on what is turning out to be a very sweet cake for Apple.
Save Uberbot
Uberbot has to be one of my favorite stores in Winter Park. They sell all sorts of limited edition designer toys, and since I'm basically just a big five-year-old with disposable income, I collect these to decorate my house and my desk at work. Sure, its geeky, but my desk gets more visits at the Highwinds office than any other - not because I'm cool and people like me, but because I have designer toys.
Well, apparently they have either cocked up their business plan or the rent got raised (or something), but they
are having a big sale this weekend to boost their numbers.
If you're a fan of all things cool, vinyl, and toy-like, head on over and show your support. They also sell things through their web site so even if you're not in Orlando, you can get yourself a limited edition gizmo from afar.
Photoshop Disasters
Welcoming Russell Centanni
After publishing job postings a few weeks ago, I'm very glad to welcome Russell Centanni to the User Experience team here at Highwinds. Russ brings a ton of Flex, Java, and web development experience to the table and we're thrilled to have him aboard.
Besides filling out HR paperwork, getting his logins configured, arranging his desk, and starting to set up his new Mac, he managed to contribute to a lengthy brainstorming session for the StrikeTracker roadmap and get Maven automation ready for our Flex builds using m2Eclipse and the flex-mojos plugin for Maven. Not bad for the first day on the job.
We'll be publishing the instructions for Flex/Maven configuration on my blog shortly, since so many people seem to think Maven is cumbersome; it's actually pretty darn straightforward.
StrikeTracker 1.5 Featured on StreamingMedia.com Front Page
All the hard work is paying off: StreamingMedia.com published
a front-page article based upon a sneak preview we delivered of the new features and functionality in StrikeTracker 1.5 (codenamed "Dark Magic"). We are presently polishing off the 1.5 release here at Highwinds, making sure it is as high quality as possible before it rolls out.
The article speaks for itself, but I can assure you that the stuff we've been working on in the short time I have been here is awesome. Between a rotating 3D visualization of the Earth showing the location of traffic being served by the network, to advanced and flexible content protection mechanisms that are easily configurable by end users, to the analytics dashboard I have been working on since my arrival, we have a full-packed release in store (although I should note that some of these new features are already out in the wild due to our simple web-based delivery model).
The entire CDN and User Experience dev teams have been working really hard on this release, and it shows. If you want to see it for yourself ahead of the official launch around 30 days from now, check out the Highwinds booth at Streaming Media East - and tell them Max sent you! :) Not only will you get a tour of the new features, but Chris, Jay, Josh, Mark, Tara, or Steve will be happy to provision an account for you on the spot (see if any other CDNs can do that) and give you a free 14 day trial of our services.
May 16, 2008
Google Maps API for Flex
At freakin' last. No more having to hover an iFrame over your Flex app using CSS hacks.
May 15, 2008
Adobe's Not F***ing Around
Adobe released a beta of Flash Player 10 today, taking a clear shot across the bow of Silverlight with features like built-in 3D, hardware acceleration, richer text support, and rich media features that are very interesting to me and my team at Highwinds for obvious reasons. Check out the press release linked to above for more info.
I'm glad to see they are not sitting on their laurels waiting for Silverlight to cane Flex. Adobe has a significant headstart in the RIA space and it is releases like this that will keep them at the forefront.
One item I would love to see them work on more is Flex Builder. Having used FB3 day in and day out for a month now, it just doesn't feel polished, but it has loads of promise. That being said, I have been totally spoiled by the bad-ass Java editing support in Eclipse, so I'm definitely biased. Even so, Visual Studio is widely regarded as one of the best IDEs on the planet, so if that's the environment Silverlight developers will be working in, Adobe has their work cut out for them to make FB just as good. Let's see what happens to the IDE when Flex 4 comes out (later this year, perhaps?).
May 11, 2008
flex-mojos Reaches Release Candidate
May 10, 2008
flex-mojos for Maven
Thanks to Chris Scott for making me aware of the new hotness in the Flex/Maven space:
flex-mojos. We're going to be getting our Flex build lifecycle automated at Highwinds after we send the latest StrikeTracker release to the Streaming Media East conference on 5/19, and I have a good mind to use this tool if it works nice and simple like it is supposed to.
So far, so good: I downloaded the code from the Google Code SVN site and ran a
mvn install for the Swiz framework, and it worked great. All the dependencies downloaded automatically, and the SWC compiled and installed to my local repo as expected with no fuss. I also noticed that the flex-mojos site is hosting all the parent POMs and dependencies for Flex in their own web repository, which makes installation and usage a snap.
This is Maven at its finest; I must admit that I love it when a plan comes together.
For more info, I suggest checking out the
project blog and
Maven site docs. There is also a
nice multi-part series on building the entire Flex/Spring/BlazeDS/Hibernate stack using this plugin with Maven - a must have for any serious Flex/Java shop.
User Interface Resource Center
May 8, 2008
Flex Is (Not) Mocking Me
Having recently rekindled my inner Test Nazi after getting back in to coding full time and learning
dpuint, I've been rather disappointed to find that there is no easy way to mock objects in Flex for unit testing. I was able to find a
Proxy-based mock framework for AS3 that looked pretty mature, but you can't pass mock objects in to methods since the compiler notices that they are not of the appropriate type expected by the receiving method and complains.
Even after concocting an abundance of attempts to trick the compiler in to accepting my mocks, they were all met with runtime errors. Bah!
Seems like the only way to get true mocking behavior with the ability to pass a mock object in as a method argument and see it fly is
to extend a class/implement an interface, which obviously licks balls.
If anybody has any bright ideas to the contrary, please let me know. I have been able to get pretty good test coverage without mocks, but would love to get through that final mile without having to resort to extending classes. Perhaps Adobe could cover this in Flex 4 for me along with all the other cool stuff they have lined up?
IBM Launches Pilot Program for Macs
Considering that my shiny new Highwinds-sponsored MacBook Pro arrived in the mail this afternoon, this was a nice item to see on the RSS feed today: the slow bleed of corporate users switching over to Macs has sped up to a trickle with the
recent IBM pilot program for Macs.
Reasons cited include the following. I have bolded the interesting items to note.
- Alternative to Microsoft Windows
-
Less prone to security issues- Widely used in the academic world with which Research has close ties
-
Many new hires are more comfortable with the Mac and lately asking for it-
Growing Mac community in Research and within IBM that finds the development environment on Mac more convenient- Growing acceptance of the Mac as a consumer and business oriented client platform
- WPLC strategy includes significant investments in achieving the Mac platform parity
Of all the items, I am most interested in the one about
"Many new hires are more comfortable with the Mac and lately asking for it". The iPod halo effect got people on to the Mac at their homes, and now the Mac at home halo effect is getting people using Macs at work. When big companies like IBM start supporting their software on the Mac, there are going to be even fewer reasons for corporate environments not to make the transition.
Frankly, with all the technology options today I think it's simply stupid to build an app for a single platform; it's so easy to build cross-platform apps these days. If Microsoft delivered Visual Studio on the Mac I probably would have learned .NET and C# years back.
Personally, I'd love to see Rational Software Modeler running on the Mac natively. Let's see if IBM stays the course.
TortoiseSVN-Like SVN Client for OS X
I heard about
SCPlugin for OS X at cf.objective() 2008. It's a Finder plugin for OS X that lets you manipulate SVN repos, much like
TortoiseSVN for Windows.
Once installed, SCPlugin knows when a directory in OS X is under source control from SVN, and shows you icons on the contained files (again, just like TortoiseSVN). You can then perform SVN operations by right clicking files and navigating to the More => Subversion submenu.
I've only used it a little so far, but it seems stable and easy to use.
cf,objective() 2008 Presentation Materials and Code for "Flex: No Frameworks Required"
I did a mini repeat session of my 2008 cf.objective() talk at our Adogo user group here in Orlando. As a result, I posted the
source, presentation materials, and links to the Adogo blog and SVN repo.
The SVN repo is publicly accessible for reads. To check out all the code and materials to your local machine, simply put the following in a command line prompt (you must have the Subversion client installed for this to work).
svn checkout http://svn.adogo.us/200805/FlexNoFrameworksRequired/ FlexNoFrameworksRequired-read-only
Note that the presentation file is several MBs, so it will take a while to come down the pipe.
May 6, 2008
Possible Fix for Flex Builder 3 Running Like a Dog/Crashing on OS X
I'd noticed that Flex Builder 3 was kind of running like a dog on OS X, and crashing at least three times a day when working with large projects. My laptop is plenty powerful enough, so I figured either (a) the software is buggy, or (b) the config settings for OS X were not right.
I opened the Flex Builder 3.app file and found the FlexBuilder.ini file, which I modified to the following settings. The memory seemed to be capped at 512 MB from what I could see, and since I am usually running FB3 almost by itself during my day job I figured I could be a little more generous with the memory.
Here's my config file. I pretty much multiplied all the settings by two if they were small, and added 256 MB to the JVM Xmx to allow a higher memory ceiling. Since the change, FB3 seems much more responsive and has not crashed on me yet (knock on wood).
-vmargs
-Xdock:icon=../Resources/flexbuilder.icns
-Xdock:name=Flex Builder
-XstartOnFirstThread
-Xms256m
-Xmx768m
-XX:MaxPermSize=512m
-XX:PermSize=128m
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dorg.eclipse.swt.internal.carbon.noFocusRing
On a side note, when I am using FB3 with only one or two small projects open, it runs great; the problem seems to be related to huge work-related projects only. This is what makes me think that the memory settings were the underlying issue.
May 4, 2008
More Feedback on Flex Without Frameworks
I ran in to both Chris Scott and Joe Rinehart on separate occasions this evening after my talk, and they both said that they were doing Flex development exactly like I was - no framework, extending EventDispatcher in their Controllers, etc. I find this encouraging considering the large amount of respect I have for both Chris and Joe's skills and contributions to the development community, and the fact that they are both framework authors.
Brian Rinaldi pointed out that I had a packed room for my session, and that this was interesting considering that I was presenting a Flex topic at a CF conference. Apparently he had seen lighter attendance at the other Flex talks he had been to. Brian wrote up a
play-by-play of my session on his blog.
Naturally, not everybody agrees with my approach. Nahuel pointed out some things that Mate makes simpler, such as handling invocation of remote services and handling the wiring and response handling of AsyncToken for you all in one tag, as opposed to scripting these items as I did in my sample application. I'm definitely going to play with Mate more so I can form an informed opinion before I comment on it in great detail.
Luis Majano really liked the way that I put the Flex app together, and was excited to put some of the patterns in to his sample ColdBox application for his workshop demo tomorrow. I guess if nothing else, this shows that the patterns really do apply to multiple technologies. On a side note, that guy is a coding machine.
Expect more feedback tidbits to be posted here as and when they come in.
Future of CF Part II
So I went to the CF 9 BOF tonight after dinner, and got there a little late, but the topic of conversation when I arrived was features we wanted to see in CF. There were a lot of suggestions, without much of a common theme. Jason Delmore and Adam Lehman did a pretty good job of saying "yes, but would you pay for that?" with each suggestion.
Honestly, I feel that CF is pretty full-featured, but is just too verbose (since it's mostly tag-based with limited script support) to compete with the other free frameworks out there. I got up and said as much, telling them that we had decided not to upgrade CF at CFI before I left (read: $72,000 in lost CF licensing revenue), explaining that what I thought they really needed to do was halt development on CFCs and implement AS3 in the server. This was met with a round of applause from the attendees of the BOF, followed by about fifteen minutes of discussion on this topic alone. Joe Rinehart kicked it up a notch and suggested that they take this one step further and make an AS3-to-Java compiler, which seemed like a good idea to me for multiple reasons.
After the BOF, Adam Lehman came over and sat with a group of people I was sitting with from the community (including heavy hitters like Chris Scott, Joe Rinehart, Nahuel Foronda, Laura Arguello, and Luis Majano) who were having a post-BOF discussion. The members of the community were interested in hearing why Adobe would not consider taking CF in the direction that Flex has gone: implementing a true XML syntax on the front end, and AS3 as a server-side scripting language. As part of the transition, there would be heavy support for Ajax instead of straight HTML applications. Adam rightly pointed out that doing so would be like making a new product altogether, and that this would most likely mean canning CF.
Canning CF is apparently not in the cards. Adam said that 75,000 additional developers had come to CF in the last year as a result of learning Flex and getting interested in CF - kind of a "halo effect" from Flex. Whether or not you believe those numbers, that's the official stance; Adam did point out that Adobe was as surprised as anybody to see this. Adam also said that they had done extensive research in to open sourcing CF for the community to take over, but that people who were not using CF had cited neither the cost as a barrier ($1,200-ish for the professional version), nor had people indicated that they would actively develop the platform. Apparently the same people who green-lighted the open sourcing of Flex had put the kibosh on open sourcing CF once the research was complete.
Adam also pointed out that you don't ask the top brass if you can make radical changes to a platform that has attracted tens of thousands of new developers in the last year. Even so, it's pretty clear that the CF team is doing some deep soul-searching to figure out where to take the product next. There is obviously a huge amount of competition from free platforms that are (by many measures) more productive and cheaper, and many of the thought leaders in the CF community are hanging up their CF hats and putting on those for other technologies instead.
One big positive thing that has come out of this is that Adobe is soliciting a lot of feedback from community representatives to drive the direction of CF. As I said before in another post, only time will tell what happens to CF in the long run.
May 3, 2008
Swiz, Mate, and Other cf.objective() News
Sorry for the lack of posting; I have been busy wrapping up the code samples and slides for my presentation on Flex without frameworks, which was well received when I delivered it to today at 1:30 PM.
A few other key things took place at the conference, which I will describe in brief now and in more detail later when I have the time to do them justice.
Swiz: IoC for FlexToday, Chris Scott publicized
Swiz (his IoC implementation for Flex). I got a sneak preview on Friday, and was able to make some suggestions that Chris got implemented before he rolled it out.
Swiz is pretty darn clean. It uses annotations to autowire components to each other, much like Spring 2.0 or Guice. Chris, Nahuel (the creator of
Mate [pronounced "mah-tay"]) and myself sat around a little this afternoon and threw around some ideas for additions to the IoC implementation. Nahuel was a Flash wizard in a past life, so he has a very deep understanding of the Flash player internals and some of the more intricate details of Flex (such as the annotation support and SystemManager for trapping events). Some of Nahuel's suggestions would completely negate the need for Swiz to be "booted" on application startup, and provide runtime IoC - very cool. Meanwhile, I plan on contributing AOP support if I can find the time between everything else I have going on.
Mate FrameworkMate is a framework that the ASFusion team produced for Flex applications. I attended Laura's session, but would not do it justice in this quick pre-dinner post, so I will save my thoughts for a more detailed post later on. Initial impressions are as follows: it supports an ESB-like controller routing (very cool) without any invasive code (awesome) but has some capabilities that looked a lot like the FB3 switch (bleh), although if you don't want them you don't have to use them.
Like I said, I will cover Mate in more detail later on. I see the biggest benefit being that it is tag-based and incredibly easy for developers to pick up, so it will lower the barrier for entry to Flex best practices to those who don't have a deep background in OO system design, while at the same time alleviating the cruft required from Cairngorm (which newbies typically flock to because all the cool kids are doing it). That being said, I listened to Tom Burleson's podcast on the The Flex Show regarding the Universal Mind extensions to Cairngorm, and they sounded pretty decent, so I should really check those out before I make any more snide remarks.
The Future of CFIn discussions at the pre-conference reception I was telling people that this might be my last CF conference. I love the people I get to see here each year, but there just wasn't that much for me personally to glean from the sessions since I don't code in CF any more (although the interactions with Chris Scott and Nahuel today alone were worth the cost of attendance and travel).
What surprised me, however, is I got the same impression from several of the prominent speakers I'm used to seeing on the circuit. I won't out anybody, but these were some big names. It seems that people have moved on to Rails or Flex or Java primarily, and the CF work just isn't as exciting any more.
I guess this could mean one of two things: either there is room opening up for new faces in the CF circuit, or CF is really losing its mindshare after all. In my opinion, Jason Delmore had nothing significant to present for CF in his keynote other than the fact that it had been reclassified in Adobe's scheme of things out of the Enterprise space and in to something else (I have it on tape, but don't have the time to get the name of where CF is classified now), and that they were working on enhanced tooling support - so great, finally on version 9 there will be decent tools for CF from Adobe (what's wrong with CFEclipse, anyway? Adobe never cared before).
I think it's time for a bigger shakeup with CF. Adobe needs to change the language to catch up with the times, or open source the engine and be done with it (i.e. let people who want to change it put in the effort, and make it something better). They can always hold on to the LiveCycle stuff for themselves as part of the Enterprise package.
Then again, I could be completely wrong. Luis Majano is still gung-ho about CF, and continues to add features to ColdBox like crazy. So, maybe I'm just a curmudgeon now that I've moved out of CF completely and moved on to Flex. Only time will tell.
May 2, 2008
Chillin' at cf.objective() 2008
Got in to Minnesota late Wednesday for
cf.objective() 2008. The conference kicked off yesterday night with registration and a reception on the top floor of the hotel.
So far I have run in to all the usual suspects from the conference circuit. I had some interesting discussions regarding Flex frameworks; seems that there is a lot of mindshare towards simplified Flex development. I asked Joe Rinehart whatever happened to Model-Glue for Flex, and he said "there just wasn't any point in finishing it" (he's apparently been doing a lot of regular OO-based, framework-free development with Flex in his consulting work).
Brian Kotek flew over to the conference with Chris Scott and said that Swiz is "amazing", having looked over Chris's shoulder through the flight. I can't wait to see it. I backed off on making IoC a focus of my presentation at the conference, but I am very interested in what Swiz has to offer for our work at Highwinds.
I'll be blogging periodically during the conference and posting some pictures on Flickr, so stay tuned if you are interested.