Blog

  • Silverlight Controls

    Check out these Silverlight control examples for both JavaScript (v1) and C# (v1.1) by Tim Heuer. I hate code behind, specifically the Flex implementation of the idea of separating your View from its implementation. The idea is you layout your GUI in MXML, and code it’s functionality in ActionScript. Gross.

    However, I have an inkling most traditional programmers love it specifically because when it comes to Design vs. OOP, they’ll side with OOP. Not to mention .NET I think… like… works this way, hehe. I side with Design because of my Flash background. Either way, after seeing the example code in these posts, I have a much better appreciation for code behind and how it relates to Sliverlight’s implementation. Specifically how the View’s GUI layout is done in XAML, and that XAML can be used in both Design and Blend. Hotness.

    If the Adobe CS suite would ever catch the heck up, we could be doing stuff like this. Imagine it:

    – Designer makes comps in Photoshop or Fireworks
    – Designer can animate and layout screens in Flash
    – Flex or Flash Developer could then program ActionScript around those screens.

    Vice-versa, the designer could design around the programmer’s implementation of screens. Agency vs. software shop work-flow, but either way. For now, us in the Adobe camp muddle through our production art / break up, and can only look on with envy.

    Via Russell Myers.

  • Implementing Coding Standards in Your Workplace?

    Every time someone blogs about the way they code on a blog, the comments always have one person who writes about how their company/department/group has the described technique as a coding standard in their company. From using a new line for squiggly brackets, to no code on the timeline in Flash files, all the way to using a specific coding framework (Rails, Mach-2, Cairngorm, etc.).

    What I want to know is, how does one “implement” said standards? How does one enforce them?

    Reason I ask is that in my new job, I’m taking the ball with formalizing a variety of projects and code bases to fit a road map. I work with a team, and that team is on a variety of projects, each of which has their code base. My concern for the client side Flash and Flex portions is that there is currently no enforced standards. We can all code on our own way because currently we have very little involvement with each other’s endeavors. The expectations are that you code well, hit deadlines, and keep management informed.

    That’s all well and good for the short-term, but after seeing the business ramifications of a few code bases not coded with the future in mind, I have grave concerns. Business ramifications being an insane overhead cost for feature requests, no risk-free way to test the already written software, and more risk associated with particular individuals being the only ones who know how certain systems work. I’m worried that I’m not doing everything in my power to ensure that if I get hit by a bus, those taking over the code bases after me are well equipped, and can be successful in doing so. Conversely, I dread maintaining some of the other code bases that aren’t using the standards I’m using.

    I’ve got what I feel are obvious things:

    • using best coding practices (those that aren’t too subjective)
    • following OOP encapsulation, and documenting where I break it, and why
    • using Subversion source control, checking in only what you need to successfully compile and run the app
    • What I check into Subversion actually compiles
    • communicating my intent to other developers and getting their feedback
    • Using widely known frameworks (1 for Flash, 1 for Flex)

    What I haven’t done, but feel might be good to do:

    • Provide a document beyond code-commenting per project on how to setup and compile
    • Document my framework modifications that go beyond implementation details
    • Have more debates on the pro’s & con’s of unit testing with a particular devote developer from another team
    • Voice my concerns to management to ensure I’m not wasting my time.

    That last one may seem weird, but it’s not. For example, a lot of service work is created once, and never maintained. In consulting, some stuff is coded from scratch for each client to ensure there are no legal licensing worries after a project is done. Sometimes, it’s just cheaper to re-write, whether in house or out sourced to another company/contractor. For product work, some customers are charged out the yang for things beyond the norm.

    I don’t think I’m wasting my time, though. In my short career, I’ve seen first hand how bad things can be when the original developers do not plan for the future, nor care about it. I want to create a better future, whether I’m in it or not, and not just for the engineers after me, but also because I want research & development funding. If I reduce overhead costs, while ensuring customer satisfaction is at or above where it was before I got involved, I can spend more time coding new products, improving existing ones based on what customers want, and/or creating what the sales’ team sells.

    To do that, I have to ensure the code is stable, can be configured easily, and is insulated against change. This doesn’t just apply to me, though, it applies to the entire team I work with, as well as new employees, and this is where my vision breaks down. The only way I can think to do this is to first become in charge of my area; second, mandate standards the team agrees on; and third, make people fix the things that don’t follow standards.

    Is that how you do this? Do I really need management’s buy in or is this something developers can mutually agree on? One of mentor’s claims I shouldn’t even waste an ounce of my time on my team members, and instead should go straight to management to make some coding standards company law… I’m thinking I agree with him.

    Do you have coding standards at your company/workplace/department? Who created them, how did you implement them, and most importantly, how do you enforce them?

  • Website Updates

    I spent most of today fixing broken entries, broken links, and re-uploading files that were missing. I’ve also created some quick sections on the right side of my blog to show the most popular entries, recent comments, and the tools & tutorials people are constantly asking for via email. Finally, some people have reported that the old feeds never propagated the new feed URL’s in their feed readers, so I manually updated those as well.

    As always, if something is broke, let me know. If anyone knows of a “Website 404 checker”, lemme know so I can take the initiative for any remaining problems. Thanks for your patience!

  • AIR Bus Tour in Atlanta Tuesday

    Just a reminder, the AIR Bus Tour is in Atlanta at the Fox Theater Tuesday. It’s a free, all day event to learn about AIR, the Adobe Integrated Runtime. I won’t be attending, but I hear there are a ton of people going.