Archive for August, 2008
If you need an insurance policy for an engagement ring as I did (or any jewelry for that matter), I have to recommend Jeweler’s Mutual. The online application took about 5 minutes (using a Flex app, no less :) ), after which I uploaded a scan of my jeweler’s appraisal.
Afterward, I called to make sure they had everything and they confirmed that I was covered over the phone. So all in all, I had a full policy in about ten minutes, and I saved about 25% over adding the ring to my homeowner’s policy. Pretty cool.
The author does a decent job of laying out the case for both products, after which he draws four possible conclusions.
1) Flex will continue to dominate the market place.
2) Silverlight matches Flex’s market share.
3) Silverlight will fail to gain any significant market share.
4) More competition will flood the market.
The author felt that #1 was the most likely outcome. Personally, I think #2 is practically guaranteed. Allow me to explain.
If you want a platform to take hold, you need three things:
i) Minimal requirements for installation for the end user,
ii) Development tools that developers can’t live without, and
iii) Killer front end apps.
The author states that “The consumer is the least impacted. For consumers it is simply a matter of downloading the plug-in or not.”. To me, the consumer is potentially the most impacted, since they will have to get that plugin installed in order for the platform to fulfill item #i above.
IMO, there are two reasons that the Flash player has such ubiquitous adoption: (a) people’s love of punching a monkey in a Flash ad in the late 90’s, and (b) the fact that the Flash player installation is almost seamless. Now, of course, I am being facetious with the “punch the monkey reference”, but the point is that you need some application/gimmick that will make users motivated enough to want your plugin in order to get to it, fulfilling item #iii. As for the seamless install, this was especially true for Windows users where IE would almost magically inhale plugin updates and run the new version immediately without even needing to shut down the browser.
This is where Microsoft could really take hold from a platform perspective. Since they own Windows, and Windows is clearly king in the OS marketplace in terms of market share, they can get Silverlight out there just by bundling it with Vista and waiting long enough for users to upgrade either their OS or their whole PC. Of course, most of the Vista users are still going to want to punch the monkey and will need the latest Flash player to do so, so that puts the number of Silverlight installations at parity with Flash (for Windows users at least).
Next, we’ve got to worry about development tools. Well, Microsoft doesn’t have much to worry about there. At least amongst my network of professional colleagues, Visual Studio ranks as one of the most powerful and loved development environments on the planet. Add Silverlight capabilities to this and throw in a healthy quantity of C# and VB coding capabilities coming in Silverlight 2.0, and requirement #ii has been covered as well.
The only thing left to do will be to come up with a Silverlight “punch the monkey” equivalent for non-Windows users. As developers start creating killer apps in Silverlight, it will only be a matter of time before non-Windows users will want one of these apps badly enough to install the Silverlight plugin. If Microsoft can really focus on user experience here they can win over users on any platform. Of course, that might be a pretty big “if” based upon past experience, but I believe they can pull it off based upon the positive movement that took place in Vista (at least for decently spec’d machines).
So, what does this mean for Flex vs. Silverlight? It means that in all likelihood, Microsoft’s best grab of the market will be about 80-90% of installed OS users, most (if not all) of whom will already have Flash as well or will get it soon after plugging in their new computer. I don’t think Silverlight is going to offer anything to Flex/Flash developers that will make them jump over to Silverlight development or vice versa, so all the guys coding in Flash and AS3 today will be coding in Flash and AS3 after Silverlight 2.0, and all the guys working with .NET today will start producing more Silverlight apps instead of HTML apps because the rich capabilities in Silverlight will be so much cooler than what the browser can deliver alone today.
Of course, the proof is already in the pudding. Look at RIA development shops like Cynergy Systems and EffectiveUI; they aren’t building apps in Flex or Silverlight, they are building apps in both depending purely upon the need. I’d bet a kidney that Universal Mind would also be developing in Silverlight today if it weren’t for the fact that they are such a close Adobe Solutions Partner (of course, I could be totally off base here – but I think not).
So, my final word on the subject is that there are plenty of desktops ready to receive Silverlight, plenty of developers ready to code in it, and plenty of action left in the Flex/Flash space for all those guys to be enjoying life too. This may be one of the few cases where it doesn’t matter which technology you want to go with – they will all be as ubiquitous as each other since they run cross-platform. Long live Flex AND Silverlight.
As somebody who started as a Java developer, this explosion of cross-platform front-end technologies is really something wonderful for me to see in my career. Java held the promise of cross-platform capability but really only ever delivered it on the server side. Now that Flex and Silverlight are here, we finally get to have first-class support for cross-platform capabilities in the front-end as well – and nothing makes developers happier than lots of people using their apps.
I presented the bling and Jessica accepted, so we’re engaged! Families on both sides are thrilled, and are joining forces to divert the holiday meal conversation thread from “when are you getting engaged?” to “when are we getting some grandkids?” :)
Many thanks go out to those of you who assisted with the gemological education and countless unsolicited suggestions for proposal ideas… needless to say, I came up with something special that did the trick.
You know, I was really hoping Microsoft was going to have Silverlight in top gear before the Olympics, especially since this was their chance to get everybody to install the player. With the Olypmics being as popular as they are, this would have been the time to try to get some foothold in the Internet against the Flash player. People I respect have told me that Silverlight is going to be very cool, and I think the competition against Flex will really push Adobe to keep their current dominance of the RIA market.
Reading this article on Contentinople, it looks like this viewer’s experience with Silverlight (which is a requirement for the video) has been lackluster, with system crashes being par for the course. He didn’t say if he was using a Mac or PC.
I didn’t bother downloading Silverlight after many respected peers had problems with it on their Macs when it first came out, so I can’t speak from experience. Has anybody else tried the Silverlight player, and if so, what were the results?
After disabling the horrendous user protection that was up in my grill at every turn, I actually like Vista on my MacBook Pro in Bootcamp. It runs Dawn of War and Firefox great (which is pretty much all I use it for), and I thought the search features and UI changes (while not a groundbreaking excursion from XP) were a positive change. Of course, anybody who knows me/reads my blog regularly knows I dig the Mac for non-gaming use due to all its shiny UNIX-ness and polish.
Even though I like Vista, I thought this article on debunking the Mojave Experiment (while a totally biased rant) brought up a few points that were somewhat meritorious.
Enjoy (or not).
With Tommy’s departure, I’ve got an opening at present here at the Winter Park, FL office (local candidates only, please). Here’s the job description (exported from Word to plain text with a little HTML for formatting – YMMV). If you are interested in applying, please contact me directly if you know me personally, or send your resume over to careers [ at ] highwinds.com with the title “Software Engineer – User Experience Team.”
Software Engineer – User Experience Team
Highwinds is a growing provider of software, messaging and distribution services. Our products are sold to the worlds largest ISPs. We are actively seeking ambitious, dynamic, smart and energetic individuals to be a member of the team that designs, operates and improves our growing content distribution network.
If you are motivated to deliver high quality and innovative services, Highwinds can offer you a great career opportunity. We offer benefits including 401k, medical, dental, vision and competitive salaries to qualified team members.
About the User Experience Team
As a Software Engineer on the User Experience team, you’ll be creating a cutting-edge user experience product on top of a next-generation Content Delivery Network (CDN).
Every member of our team is focused on the needs of our customers and the future of our business, and your work will directly impact how the company and product get to the next level. When you join our team, your ideas will shape the future roadmap of the platform as you bring them to life through code.
If the following description sounds like you, you are going to love being a part of our team.
- You have strong passion for high-quality software and the ability to deliver product in an informal, agile environment.
- You prefer a whiteboard brainstorming session to written specifications.
- You don’t need a manager. Once you have some direction, you take responsibility for the work at hand and have the initiative, imagination, and motivation to get it done.
- You like to learn from others, and to share knowledge and best practices. You’re a fan of collaborative design and peer reviews.
- You have excellent deductive reasoning, problem solving, and decision-making skills. When it’s necessary to compromise to meet a deadline, you’re confident you can make the right decisions to achieve a balanced result.
- You have a positive attitude with excellent interpersonal/communication skills. You’re happy working both independently and with others in a multi-team setting.
- You’re not comfortable unless you’re at the top of your game. When you’re not at work, you’re tinkering with new technologies or catching up on ideas from industry thought leaders. You might even have your own blog.
- You’re interested in working with Rich Internet Application (RIA) technologies.
- Write high quality code and unit tests in Adobe Flex and Java, integrating with RESTful web services and BlazeDS.
- Brainstorm with other team members to shape the implementation of end-user and internal stakeholder requests.
- Participate in collaborative code review and system design sessions.
- Work in a release-based lifecycle, taking ownership for individual feature sets and bugs with each release.
- Support Technical Consultants in the field by assisting with specific customer requests, troubleshooting, and problem solving.
- Bachelor’s degree in a software-related field (Comp. Sci. or equivalent strongly desired) or comparable industry experience, plus 4 or more years of professional experience as a software engineer in a team environment of any size.
- Demonstrable expert-level understanding of object-oriented technology and industry design patterns. Professional experience delivering applications in Java/JEE or C#/.NET.
- Strong written and verbal communication skills, including the ability to present ideas in a group setting and constructively critique the work of others.
- Experience with an RDBMS platform such as Oracle, MySQL, MS SQL Server, etc.
- Experience working with source control systems in a parallel development environment (Subversion preferred).
- Understanding of software development lifecycles and associated development techniques.
- Development experience using a server-side web development platform (any of the following or their equivalents: ASP, ASP.NET, JSP, ADF, ColdFusion, Ruby on Rails, Java servlets, JSF, PHP, etc.).
- Thorough understanding of the strengths and compromises of distributed application design using web services, REST architecture, and/or other remoting technologies.
- Experience with software development in both Unix/Linux and Windows environments.
- Strongly desired: professional or hobby experience with Rich Internet Application development using Adobe Flex 2 (or higher) and ActionScript 3.
- An eye for clean user interface design and a passion for delivering a high-end user experience.
- Working knowledge of graphic design tools (Adobe Creative Suite, Gimp, PixelMator, etc.) a plus.
- Familiarity with UML modeling.
- Experience with the setup and administration of web server platforms (Tomcat, JBoss, Apache, etc.).
- Experience with asynchronous message bus technology.
- Socket-based programming experience a plus.
- Experience working with geographic/marketing data.
Tommy let us know today that he has been offered a position as a Team Lead at Universal Mind. In addition to being an awesome opportunity with one of the original and most respected Flex consulting shops, he’ll be working up north where he can be closer to his family.
We hate to see you go, Tommy, but we wish you the very best. The FLS servers miss you already. I don’t think we’ll ever find another salsa-dancing, plane-flying, hockey-playing software engineer/photographer. :)
There’s a great rundown of what happened on somebody else’s blog, so I’ll let you read that.
Finally, I would love to see Adobe run with this and put all the non-compliant ECMAScript features they had to take out (like private constructors, abstract classes, etc.) back in. As much as I see the strength in standards compliance across environments, they do put some shackles on innovation. Let’s see this through as an opportunity to make Flash better.
Looking over the blog today, I realized that my sidebar links were horrendously outdated. I added some new links, but still kept the oldies-but-goodies that continue to represent my state of being.
See more here (quote lifted from around 3:25 in the embedded video).
Essential Job Functions & Responsibilities
These are the bare minimum skills expected for members of our team.
The best candidates will also possess one or more of the following.
Most Popular Yelling
- Scrolling Large Data Sets in Flex Charts (41)
- Configuring Tomcat SSL Client/Server Authentication (19)
- Fixing "Bluetooth audio failed" Error Message on Mac OS X with Sony DR-BT50 Headphones (16)
- How To Become A Software Engineer/Programmer (15)
- Speak and Spell Samples (13)
- Using Axis's wsdl2java in a Maven Build (12)
- An Objective-C Tutorial for Enterprise Java Programmers (12)
- On A Personal Note (10)
- Abandoning ColdFusion? (9)
- Adobe Says: "Thousands of Developers are using CF 8" (9)
Stuff I Like
- October 2011
- August 2011
- April 2011
- March 2011
- January 2011
- December 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- January 2007
- December 2006
- August 2006
- July 2006
- June 2006
- April 2006
- February 2006
- December 2005
- November 2005
- October 2005
- August 2005
- July 2005
- June 2005