Come to Flash and the City 2010 in New York, NY

0

Posted on : 01-05-2010 | By : tshanky | In : Public Events / Conferences, RIA -- Flex/AIR/PDF/Ajax

As I have said earlier, I am on a speaking engagement diet for a few months now and am sticking to a fewer number of conferences than I have in the last few years. The place I appear next is in a conference at my home base — New York City. Thanks to Elad Elrom, we have a great Flash conference, appropriately called — “Flash and the City“, right here in our city. Its a conference that has not only attracted a stunning lineup of speakers (including yours truly, just kidding :) ) and includes some of the most relevant topics that would interest any and every Flash developer and architect but is also a conference that promises a lot of fun in the very amazing city. There are city tours, bar hopping events and dinner on the hudson. Doesn’t that sound attractive?

The event is scheduled to take place between May 13 and May 16 at the 3LD Technology Center in downtown Manhattan. You can look-up the schedule to get more details on who speaks on what and when.

My session titled  — “Flash amid the cool and the futuristic web” covers a number of different emerging aspects of the Flash platform that are shaping and will be relevant for the web of the future. So, if you care about the future of the web, do stop by.

See you at Flash and the City!

Next Stop: NFJS Rocky Mountain Software Symposium

0

Posted on : 20-11-2009 | By : tshanky | In : Java and JVM, Public Events / Conferences, RIA -- Flex/AIR/PDF/Ajax

I speak on Flex and Java Integration, Flex and Hibernate and Collaborative real-time RIA this Sunday (November 22, 2009) at the No Fluff Just Stuff (NFJS) Rocky Mountain Software Symposium in Denver, CO. If you are in Denver and coming to the show, I hope to see you there.

Build4Flash @ StackExchange

1

Posted on : 19-11-2009 | By : tshanky | In : RIA -- Flex/AIR/PDF/Ajax

My friends at Farata (Yakov, Victor and Anatole), who are a very accomplished set of authors, developers, mentors, architects and community leaders in the RIA and Java communities, have set up a venue for you to ask all your questions that pertain to the Flash platform. So go to http://built4flash.stackexchange.com/ and ask away everything about Flex, Flash, AIR, Flex and LAMP, Flex and Java, the Flash development community, open source projects in the space and more. Going by their past and current track record, I am sure you will not be disappointed with their great replies and excellent management. Do bear in mind though that the venue is very new. Help grow the community and help yourself by getting your questions answered!

http://built4flash.stackexchange.com/ is a site build on the engine created by Jeff Atwood and Joel Spolsky of the StackOverflow fame.

Flex (Flash) Camp Wall Street Starts Tomorrow

0

Posted on : 16-11-2009 | By : tshanky | In : Public Events / Conferences, RIA -- Flex/AIR/PDF/Ajax

Flex (Flash) Camp Wall Street starts tomorrow (November 16, 2009) in New York City. If you are coming to the event, do stop by to tell us about your exciting adventures in the world of RIA. Enjoy 14 exciting sessions over two days. Meet with the experts in the field. Mingle with the community and don’t forget to hang out in the after session sessions :) If you haven’t registered yet, don’t wait any longer as very few seats remain. Register online now at http://www.flexcampwallstreet.com.

speaker_badge_flash_camp_wall_street

(This cool speaker badge was created by Adam Flater as a draft initial artifact!)

Featured on DZone “Meet the Author” Video Series

0

Posted on : 07-11-2009 | By : tshanky | In : Java and JVM, My Publications, Public Events / Conferences, RIA -- Flex/AIR/PDF/Ajax

Watch me speak on BlazeDS, Flex and Java integration. (Original Post on DZone: Meet the Author – Shashank Tiwari on BlazeDS, Flex & Java Integration).

Flex (Flash) Camp Wall Street 2009 on November 16-17 in NYC

2

Posted on : 05-11-2009 | By : tshanky | In : Public Events / Conferences, RIA -- Flex/AIR/PDF/Ajax

The second edition of the hugely successful Flex (Flash) Camp Wall Street is less than 2 weeks away. This time the event is bigger (over 2 days — November 16-17, 2009), better (more speakers and more topics) and cheaper ($49 only!). Alike last year, its at the conveniently located New York Seminar and Conference Center — 71 West 23rd Street, New York, NY 10010.

There are a bunch of very talented  Flex, AIR, Flash, LCDS and BlazeDS experts (experienced developers, celebrated authors, speakers and ideators) speaking at the event. As it stands, the speaker list includes James Ward, Yakov Fain, Jeff Tapper, Jeffry Houser, Wade Arnold, Christian Saylor, Brian O’Connor, Daniel Holth, Elad Elrom and Adam Flater, besides yours truly :)

You can lookup the details about the event and register online at http://www.flexcampwallstreet.com

Information on the schedule and sessions is available at http://www.flexcampwallstreet.com/sessions.html. You can read more about the speakers at http://flexcampwallstreet.com/speakers.html.

An idea of a party at the end of day 2 is actively brewing as well!

If you are interested, please go and register right away. The tickets are selling out fast and going by last year’s experience its highly likely that they will all be sold out soon!

BlazeDS DZone RefCard Available for Free Download

0

Posted on : 29-10-2009 | By : tshanky | In : Java and JVM, My Publications, RIA -- Flex/AIR/PDF/Ajax

Getting Started with BlazeDS, a DZone RefCard on Adobe BlazeDS that I authored is available online. Go ahead and download it now.

The great thing about the DZone RefCards is that they are terse and useful presentations of technical topics and are available completely free of charge. The RefCard on BlazeDS is a quick 6 page practical introduction to some of the key aspects of using BlazeDS. For more details, consider reading my book on Adobe BlazeDS — Professional BlazeDS (Wiley/Wrox, 2009).

Please let me know if you find the RefCard useful. Also, please point out to me any errors that may have slipped through the cracks.

Flex Architecture and Design Patterns

6

Posted on : 25-02-2009 | By : tshanky | In : RIA -- Flex/AIR/PDF/Ajax

A lot of my readers and clients have been asking for advice and help around getting Flex application architecture right. In some cases, these capable developers are struggling to morph their initial fancy toys into robust applications.

If you have seriously dabbled with Flex, you probably can empathise with them. However, if you haven’t delved into Flex at all or have minimally glanced at its surface, you are probably stunned in amazement and possibly ridiculing the indiscipline and lack of knowledge of these developers. Interestingly though, the shortcoming isn’t of the developers alone and the problems aren’t because the framework is flaky. Its just that you can code yourself into a corner despite your proficiency in MXML and AS3 and this problem is not new. The fact that: “fluency in a language and the core framework != fluency in building an application effectively using it” is well established across multiple languages. We have all seen similar problems surface with C++, Java, .Net, PHP, Python, Perl, Ruby, JavaScript and pretty much any other widely used language.

Over the years the community of software developers have questioned, theorized and debated over the root causes of failures emerging from bad application design and inappropriate architecture.  The viewpoints and thoughts are varied (An illustration of which is beyond the scope of this post. I may write about it in a separate post in future.) and there is no consensus on the right solution yet. However, there are some points of agreement and universal appreciation. One such topic of agreement, is the notion of leveraging design patterns. 

Design patterns have existed from the time the discipline of software development was a toddler back in the 70s, when it learnt to avoid its initial mistakes. Back then though, these patterns were not cataloged or adapted for specific areas of applicability. Now as the discipline is maturing into a teenager towards the end of the first decade of the 21st century, design patterns are entering the standard vocabulary of an average developer.

So, a Flex/AIR developer today can learn a lot of the theory about essential design patterns from the Gang of Four book or browse through the useful bunch of patterns applicable to enterprise application architecture. In addition, he or she could pick up one of the two design patterns books that pertains to AS3, namely:

Armed with all this knowledge, a Flex/AIR developer can hypothetically apply these gainfully to a real project. However, at this last link in the chain the story often breaks. Developers are left with tons of open questions around how to exactly use all their learning in the context of the core Flex framework features.

Its not a trivial effort to wire design patterns in conjunction with the existing framework classes. Using structural patterns with existing class heirarchies is not automatic and implementing behavioural patterns on top of the default flow is not intutive. In addition, you are left guessing on what could be implemented with AS3 alone and what could also rope MXML in.

At this stage, some developers just give up and some others seek refuge under any of the existing aggregations, especially if it seems to have official endorsement (read “Cairngorm”). Now, “giving up” can lead to code spaghetti and “seeking refuge” blindly can leave you in an obfuscated labyrinth, especially when you are deep into transforming your toy into a serious business application.

What then is a solution to the problem? How can one get Flex application architecture right?

To answer these questions to an extent, I wrote a chapter titled : “Leveraging Architectural and Design Patterns” in my book — Advanced Flex 3. That chapter neither addressed all the issues not did it include details on implementing these patterns in Flex. It merely discussed the topic at a very high level. Even then, many found it immensely useful. Going by the positive feedback and the following questions from the readers, I could guess that the thirst to learn more about Flex design patterns remains unquenched.

Therefore, I am starting on 3 related yet distinct initiatives, which might help you all. These are:

  • Thorough hands-on Flex architecture mentoring sessions
  • Three chapters instead of one on architecture and design patterns in Advanced Flex 4 (the next version of Advanced Flex 3)
  • A free book — “Flex Design Patterns” — on all aspects of architectural and design patterns in Flex. Chapters from which will be available for download right after they are written

In addition I am working actively on getting Fireclay ready for prime-time. I hope Fireclay will be a compelling and unique Flex framework when its version 1.0 is released.

If you would like to learn a lot by doing and want to gain substantial mastery in 3 days flat, then join me at the Flex Architecture BootCamp, the first of which is coming to New York between March 23 and March 25, 2009. Find out the details about this event at the Flex Design Patterns Eventbrite site

At the Flex Architecture BootCamp, you will – 

  • Learn how to build enterprise grade Flex applications
  • Learn to leverage the common design patterns in Flex and ActionScript 3 applications
  • Understand what Cairngorm, PureMVC, Mate, Prana and Fireclay are all about
  • Learn to preempt problems involved in building complex enterprise grade Flex applications. Build applications reliable, scalable and performant from the beginning.

More information online at the Flex Architecture BootCamp eventbrite site. In a few days I will announce the schedule for this BootCamp at other cities, which include Chicago, Atlanta, Dallas and Seattle.

When you register for the bootcamp at New York, don’t forget to avail a $75 discount using shanky_org as the discount code.

In future posts, you will hear from me on when I may start writing Advanced Flex 4 (its definitely not happening till Flex 4 beta is out and that I think isn’t happening until May 2009).

Information on the free book — Flex Design Patterns — will be available soon.  I am currently trying to setup a repository and a methodology to manage the writing process. I am keen to use the docbook format and may use the GitHub to host all content and code. If you have any suggestions or recommendations on any alternative tools, then please chime in.

That it for now, but you know a lot’s coming, so stay tuned!

Prefixing Fx

3

Posted on : 14-02-2009 | By : tshanky | In : RIA -- Flex/AIR/PDF/Ajax

Adobe’s Flex team seems inclined to move away from clean design.

Flex framework’s current stable version is 3.x and the Flex team at Adobe is actively working on getting the version 4.x ready this year. At this time, the core SDK of Flex 4, codenamed Gumbo, is evolving through an open source process. From peeking into its initial version, it looks promising as there are serious attempts to create a clean separation of behavior and presentation in the components, apart from the tons of nifty enhancements throughout the framework. (I promise to write about some of the forthcoming features soon)

However, one design decision in the midst of all this goodness seems rather odd and alarming. The Flex team is proposing to prefix Gumbo component names with the letters “Fx”. Lets try and understand what this means.

In Flex 3.x and 2.x you have a button component, which you access within a flex application using <mx:Button>. Here the name of the component is Button and mx is the namespace within which this component resides. Now in 4.x you still have the Button component but it deviates majorly from the component by the same name in the 3.x or the 2.x version of the framework. Its possible developers may like to use both versions concurrently and that’s where there is a need for the two entities, i.e. buttons, (with the same name) to be identified distinctly.

Simply said, how do you make sure the two versions of Button work together without causing confusion in the program. The answer to this question is simple and time tested: Put them in different logical buckets. 

This solution of putting things with same names into logically diferent partitions seems to work well in many situations. This is how two classes by the same name are differentiated — they are put under different package structures. For example a.b.c.Foo and x.y.z.Foo can co-exist as far as they are referred with their fully qualified names. This is how XML elements with the same name but from different schemas are reconciled. This is how variables with the same name but within different scopes are resolved.

However, this simple solution seems to evade the Flex team’s considerations. They believe logical partitioning (which translates to namespaces in the case of Flex components acessed by their XML tags) can be confusing for the beginners.

 

Common Sense Reasoning

Common Sense Reasoning

So they propose instead that we prefix the names of all components whoes names clash with existing ones with the letters “Fx”. In other words our <mx:Button> in Flex 3.x or 2.x, which by the way is affectionately now called “Halo”,  becomes <FxButton> in Flex 4, which is also referred to as “Gumbo”.

If you use namespaces instead then this same Button in Gumbo will be <fx:Button>.

If we follow Adobe’s suggestion we may land up with something like this –

  • Halo — mx:Button
  • Gumbo — FxButton
  • Mumbo (or whatever they choose to affectionately call the next version) — Fx2Button or FxFxButton or MumboFxButton
  • Jumbo (possibly the following evolutionary version) —  Fx3Button or FxFxFxButton or JumboFxButton

Would you not just call a button a Button and have the namespaces decide weather its from the Halo, Gumbo, Mumbo or Jumbo clan?

If you would like to help Adobe make a sensible decision in favor of namespaces (i.e. using fx:Button instead of FxButton for now) then please go ahead and vote for this bug on the Flex JIRA.

Flex or Flash?

2

Posted on : 10-12-2008 | By : tshanky | In : RIA -- Flex/AIR/PDF/Ajax

The recent re-emphasis by Adobe on the “Flash” brand is scary!

The world of web development involves two types of people — developers and designers. Each of these sets is distinct from the other. Very rarely are there people who truly have both the traits.

Traditionally, designers used the Flash platform to build fancy and high quality animations, interactive advertisements, vector graphics and video displays. Then came Flex. Flex was a new face of Flash that appealed to a developer. Flex had a strong clear message that overpowered the developer’s fear in the “timeline” driven idiom. To some, it was and still is, metaforically speaking, Flash forked — new brand, new declarative XML based syntax and an object oriented language (AS3) under it all, leading to a distinct new identity from the designer’s favorite timeline of animations and video. For a Flex developer, Flash was relegated to a run-time and given the status of a platform, like most other virtual machines enjoy. Flex developers realized soon after they built their first couple of applications that Flex was Flash under the hood. They knew that they had to learn bits of the player idiosyncrasies to build real world applications and they also realized that after all Flash was always a great choice for rich applications, its just that they had never bothered to dig into it! In all, though, they were and are happy “Flex developers”.

Now things are changing or are they?

Flash and Flex

Flash and Flex

To take our conversation forward from here, let’s deviate at this point. Let’s not talk about Flex or Flash anymore but instead talk about a somewhat analogous situation. In doing so we may still discuss what we set out to do.

There was once a great burger place that had some of the finest meat between its bread slices. However, the steak eaters never cared for this place. Then the owners realized the potential of attracting steak eaters and so setup a new outlet right next door. Called this new place a steak house, setup the right interiors, stacked up a rack of wine to go with the steak and got their servers to wear cowboy hats. It got a good name among steak eaters. After all, the meat was good remember! The kitchen was shared by these two outlets, the burger joint and the steak house. Most didn’t realize it though, specially when walking into this new steak place. If they did find out after eating a couple of times at this new outlet, they weren’t that affected. They were already bought in.

Therefore, both the burger joint and the steak house flourished till now, attracting people from both these worlds and the few who belonged to both.

Recently, though the onwers of these outlets have decided to break the wall that separates the two and extend the front facade and the board to cover both places. They have decided to go with their good old brand of a burger joint.

Wondering what the steak eaters are now going to do? Are they going to be unaffected? Does the company not want them anymore? Will the steak eaters’ friends walk in when they land at this address of the steak house but find a burger joint board welcoming them? Somebody explain! Its scary!

FireStats icon Powered by FireStats