About James Ward

Short Bio:
James Ward is a Principal Platform Evangelist at Salesforce.com. He tweets as @_JamesWard and blogs on jamesward.com.

Full Bio:
James Ward (www.jamesward.com) is a Principal Platform Evangelist at Salesforce.com. James frequently presents at conferences around the world such as JavaOne, Devoxx, and many other Java get-togethers. Along with Bruce Eckel, James co-authored First Steps in Flex. He has also published numerous screencasts, blogs, and technical articles. Starting with Pascal and Assembly in the 80’s, James found his passion for writing code. Beginning in the 90’s he began doing web development with HTML, Perl/CGI, then Java. After building a Flex and Java based customer service portal in 2004 for Pillar Data Systems he became a Technical Evangelist for Flex at Adobe. In 2011 James became a Principal Developer Evangelist at Salesforce.com where he taught developers how to deploy apps on the cloud with Heroku. From Fall 2012 to Spring 2014 James was a Developer Advocate at Typesafe where he created Typesafe Activator and led the Reactive Software vision. James Tweets as @_JamesWard and posts code at github.com/jamesward.

Photos:

james_ward.jpg
james_200.jpg
img_9331.jpg

View James Ward's profile on LinkedIn

My Stack Overflow Profile:

profile for James Ward at Stack Overflow, Q&A for professional and enthusiast programmers

First Steps in Flex by James Ward and Bruce Eckel:

Contact Me:
Work: j.ward <at> salesforce <dot> com
Personal: james <at> jamesward <dot> com

  • Pingback: Video: Flex Best Practices - Guys Don’t miss it « RIA Cookies()

  • http://scorecardstreet.spaces.live.com Laura Edell

    Hi James – I was stoked to find your site from the Business Objects (rather, SAP) Developer’s portal..Are you still with Adobe? Are you in their Fremont office (Seattle, WA)? I live next door to that office so would love to grab coffee and pick brains…Sounds enticing, I know…
    Anyway, I seem to get caught in a loop when I try to get the XTreeGrid code coverted to Flex 2 by Latha…Can you send me the link? Thanks !

    laura

  • Chris

    James,

    I very much enjoyed listening to you a few months back at DreamForce. You have been a true inspiration as I get into working in flex. I have a very oddball question.

    Is there a way, or do you invision a way that we could play a wmv file within a flex/air application?

    If you or someone could give me any indication on this it would be ever so valuable!

    Have a great weekend!

  • http://www.jamesward.com James Ward

    @Chris

    Perhaps you could use Alchemy to convert a WMV decoder to AS3.

    -James

  • http://na Mike

    Hey James…
    I was wondering… Do you have twitter? Can I reach you in there? Thinking flex, I mean.

    And by the way, do you have an idea of a Scheduler for Flex? I’m working in some website, and we will need it. But I was reading -> http://labs.adobe.com/wiki/index.php/Flex_Scheduling_Framework but this old thing isn’t?

    Hey and by the way THANK you so much, you and your blog had been HYPER helpful for my Flex beginning!

    Thanks and best regards RIA Cowboy yiiiijaaaa!! =)

  • http://www.jamesward.com James Ward

    @Mike

    Great to hear from you! I don’t use Twitter much anymore. Maybe because I’m on too many airplanes. :)

    Ely Greenfield created a nice scheduler-like component:
    http://www.quietlyscheming.com/blog/components/interactive-calendar/

    I think someone in the community took it and fixed some bugs in it.

    I’m glad to hear that my blog provides some help. Thanks!

    -James

  • Chris

    Great! I will look into it. I recently saw that listed within the Labs. It will be interesting. I keep pushing to switch to flash rather than contiue our path forward with WMV’s and Silverlight but when you stream 100k plus videos encoding them will not be something anyone jumps at.

    I will take a look at it. Thanks for all your knowledge you share. I have enjoyed it all!@James Ward

  • http://na Mike

    @James Ward
    Uhmmm I see!
    I guess I’m using the wrong word. Or maybe I’m not understanding what you showed me.
    What I’m looking for it’s something like a CRON job or a DEMON in Linux. A way to executes a Flex application every day in a specified hour.
    Hehehe I’m sorry if I’m so annoying, the truth is that I don’t know anyone else as good and related with Flex as you are.
    Do you have a book that I can refer to, to keep learning?
    I’m programming a Flex application hosted in a Jboss server, backed end in Java.

    As you can see I’m very new at this technology, but it’s really nice and I’m really interested on getting certified!!
    Is there a reference book for the certification?

    And, could you help me on some other little detail? Hehehe I’m supposed to feed a datagrid with a SQL query that I’m doing in the back end, the point is that this query wil have repeted fields. But I don’t want to show a VERY repeted data on my project. Is there a way to make the datagrid understands to show only once the repeted field?

    I’m really gland that you answered me!
    You’re really cool on this!

    Have a great fly… if you have another one this day! And an excellent day!!

    Thanks in advance!!

    Mike
    – There’s no place like ~/

  • http://www.jamesward.com James Ward

    @Mike

    It seems like you can just use a system scheduler (like Cron on Unix) to do what you need. But I’d like to better understand your requirements. Feel free to email me about this.

    You can check out the book that Bruce Eckel and I created:
    http://www.firststepsinflex.com

    You can certainly do client-side filters. Email me about this if you need more info.

    I hope that helps.

    -James

  • http://na Mike

    @James Ward
    Hey James I sent you an email, with some… uhmmm a bunch of questions…
    Could you please please help me?

    Thanks in advance.
    Ahh by the way, my complete name is “Miguel Rodriguez” I’m mexican.

    Please give us a little hand!

    Regards!
    Mike

  • Chiru

    Hello James Ward,

    Greetings.

    I just have a quick question regarding amf protocol and validations on the server-side. Even if we validate on the client side, we definitely need to validate on the server-side as we have lots of tools using which users can modify data after the client validation but before the request is sent to the server. For example, Charles proxy shows the amf requests and responses. Although that tool does a read-only view of data it shows that it is certainly possible for creating tools to modify data as well. AMF protocol is although proprietary people seem to have reverse engineered it. So, we definitely need to validate the data on the server side. Now if I use Blaze DS and have my action script objects directly serialized to java objects to do basic validation like “this property should be a number”, do I have to define all my properties in the java object as Strings. As otherwise if I define a property that I expect to be a Number from action script to be a java.lang.Long for example and if the user passes a alphanumeric string, does the amf de-serialization bomb or does it assign the long value on my java object to 0? We do not want both as we would like to do server side validation and show what is wrong with the user input, preserving the user input. Does this mean I have to define my java object properties to be all Strings? Does that mean I need to define a DTO (or a VO) to contain all Strings matching my Domain object to interface with flex amf? Also, if I have a big domain object with lots of related objects etc, would you recommend creating similar DTOs (with all strings again) or would you recommend using our own serialization (using xml for example).

    Thanks in advance,
    Chiru.

  • http://www.jamesward.com James Ward

    @Chiru
    The AMF spec is publicly available and BlazeDS is the open source reference implementation of the spec. Your VOs on the client and server should match and you should validate input on both sides. Adobe is working on some other stuff to make this easier. Keep watching my blog for more info.

    -James

  • http://www.jamesward.com James Ward

    Hi everyone,

    I love answering questions but I’d rather not do this on my bio page. So I’m disabling comments on this page. Please email me if you have questions. Or for a more expedited response you might want to try the Flexcoders Yahoo! Group.

    -James

  • Pingback: Sergi & Replace » Blog Archive » Instalar Adobe AIR 2 en Linux x64 - ¡Mira mamá! ¡Salgo en Internet!()

  • Travis

    the air for android stuff is sweet, but it won’t work on my google tv even if I package using the captive runtime…do you know of adobe plans to extend air to google tv?



  • View James Ward's profile on LinkedIn