Acquisitions – Palm and HP, Siri and Apple

Posted in Eric Daugherty on April 28th, 2010 by admin

admin originally posted this on EricDaugherty.com.

Two interesting acquisitions were announced today, one exciting, one disappointing.

First, the exciting one.  Apple acquired Siri.  I've used the Siri app for the iPhone, and was very impressed.  It attempts tries to be your digital secretary, and actually does it quite well.  It abstracts you away from how it finds out information, and just presents what you want to know.  It works great for the simple cases so far, and I think over time will become very good at much more.  For Apple, who I believe is focusing on making computers into appliances, this is a great fit.  As I discussed in my post about the iPad, I believe the next evolution of the computing space is creating computing appliances, not computers.  Thinking of the iPad as a computer with a touch screen instead of a computer with a keyboard is wrong, just as thinking of a TiVo as a computer with a video capture card is wrong.  Yes, both analogies are technically correct, but they both miss the point.  Both are computing appliances, not computers, and the rules and expectations for them should be different.  I'm very excited to see what Apple will do with Siri.

And now for the disappointing one.  HP acquires Palm.  Palm was once a great company.  They nearly single handily created the PDA (Personal Digital Assistant) market, with the Palm Pilot.  The Palm Pilot dominated the market for years, until the advent of smart phones.  Then they created the smartphone market with their Treo line (technically they bought Handspring, which was formed by the same folks), and extended their domination.  I was an early adopter back in 1998 and used Palm Pilots and Treos up until last year when I switched to an iPhone 3GS.

If was very excited about Palm's new OS, but in the end it was too little, too late.  If they had launched the WebOS/Pre a year before the iPhone came out, they may still be dominating the landscape.  And they certainly should have been able to do that.  The Palm OS was great in the 90's, worked OK in the early '00's, but was really showing its age by 2005.  They waited far to long to move to the next generation.

I don't see how being acquired by HP will change their position.  iPhone and Android are locked arm-in-arm for the smartphone market.  iPhone owns the proprietary walled garden space, and Android is the open, extensible choice.  Microsoft and RIM are still hanging around, mostly in the corporate market.  There just isn't room for Palm.

HP is not an innovative company today, and is more known for their existing relationships and sales channels than engineering.  While I don't believe any company could have really saved Palm, an acquisition by HTC or another up and comer in the space would have been interesting.

Top Ten Reasons Babies are better than iPads

Posted in Dave Rodenbaugh on April 27th, 2010 by admin

admin originally posted this on Lessons of Failure.

The ChallengerTop Ten Reasons Babies are better than the iPad

  1. Babies eventually grow up to be better than their fathers.
  2. Babies get cuter as they get older.  Think those fingerprints on your screen will get any cuter?
  3. Babies don’t have a daily purchase limit.
  4. After you get a baby, most people are satisfied for awhile and don’t want to upgrade for a long time.
  5. Babies make other people smile when they see them.  iPads just make people ask, “What’s that?”
  6. iPads look dorky in strollers.
  7. Putting an iPad on your back makes you look like a Borg.
  8. Babies don’t care if you use Flash, Objective-C, or Lua.  Babies just want you to talk to them in any language.
  9. Babies don’t require you to dress in black turtlenecks, khakis, or attend MacWorld for any reason.
  10. Babies are a LOT more fun to make than standing in line to buy an iPad

AND!

Top Ten Reasons iPads are better than BabiesThe Champion!

  1. iPads never require college educations.  The closest you get is $4.99 for the Encyclopedia app.
  2. You can shut the iPad off at 10pm and turn it back on at 7am every day, without social services knocking at your door.
  3. When the iPad is hungry, you can plug it in and leave it alone for two hours.
  4. One word:  Diapers.
  5. The iPad will never go on a first date or drive your car.  Ever.  Not even with iPhoneOS 4.0.
  6. You’ll never hear the iPad asking where it came from.
  7. The iPad will never walk in on you having sex.
  8. Trying to swipe a baby will land you in jail.
  9. Best game with a baby:  Peek-a-boo.  Which gets boring pretty fast.  Solitaire, on the other hand…
  10. You can’t make menstruation jokes about babies.

No related posts.

The Schizophrenic Programmer

Posted in Justin Shacklette on April 21st, 2010 by admin

admin originally posted this on Saturnboy.

Hi, my name is Justin and I have a problem. I’m insane!1

Being insane really sucks. But I’ve got a plan to get back on track. First, I’ll dole out some blame. Then, I’ll give a little background. Next, I’ll really dig into my current insanity. And finally, I’ll layout my plan for the future.

The Blame

I like to curse. And when I’m mad, I find it definitely helps to calm the rage. So to begin, I’d like to give a big fuck you to Andy Hunt and Dave Thomas, the pragmatic programmers. I love you guys but you get at least some of the blame for making me insane. Next, I’d like to give some blame to my wonderful employer, Gorilla Logic, and their penchant for landing such a diverse set of inspiring projects. You suck for building a candy store and filling it with the sweetest treats.

Unfortunately for me, the lion’s share of the blame is mine and mine alone. I’m insane today because of my lust for the new coupled with my desire to be great. I want to be a great dad, a great husband, and a great employee. Who wants to be average?

It’s just not possible that I’m alone. Who doesn’t like cool new stuff? Who doesn’t want to be great? There must be thousands, if not tens of thousands, of fellow developers suffering from insanity that goes undiagnosed. So this tale goes out to you, my functionally insane brethren. Together we can heal ourselves.

Who Am I?

I’d like to give a little background before I get in too deep with my current insanity. I’m a developer. I get paid to write code (woo hoo!) to solve problems. Blah, blah, blah, if you just fill in the rest with a bunch of geek stereotypes you won’t be far off. Yes, I like to IM my coworkers instead of just walking over and talking with them. Yes, I read slashdot. Yes, I read sci-fi. Yes, I played lots of Dungeons & Dragons.2 Et cetera…

I consider myself a smart guy, just like every single developer I’ve ever met. I stay hungry and motivated to learn something new every day, every week, every year. Thanks to Andy and Dave, I learn one new language every year. And most importantly, I try very hard to listen or at least listen more than I argue. Sometimes it doesn’t work out so well, but that’s another tale…

How I Became Insane

I’m a big fan of “right tool for the job” in both life and development. In the realm of development, the concept of right tool for the job has metamorphosized into right language for the job, aka polyglot programming. On the face of it, polyglot programming has a lot of advantages (here’s a good talk by Dean Wampler), but it is one of the root causes of my insanity.

At Gorilla Logic, we are regular practitioners of polyglot programming. Our typical enterprise RIA project uses Java on the backend and Flex on the frontend. Of course, the mix of languages doesn’t stop there. I develop for the web, so when you talk about websites, WordPress and Drupal are immediately in the conversation, and thus PHP. And since a rich client-side experience is critically important, HTML, CSS, and Javascript are drawn into the mix. In the mobile world, Blackberry and Android are thankfully mostly Java, but anything Apple takes me into the non-GC’d world of Objective-C.

I’ve also been diligently learning my one language a year for a while now. And when you combine that with work, it has simply become too much. I’ve become scattered, my mind has become messy. Looking at the syntax level, the symptoms are acute. I can’t write a loop. I can’t match a pattern. I can’t build array operations. My context switching pain is severe, it can literally take hours before I get back up to speed with the language at hand.

But it’s not just the low-level stuff anymore. I’m finding that even at the highest levels of architecture, clean thought is hard to achieve. Different languages tend to espouse different patterns and paradigms that directly impact architecture level decisions. For example, if I wanted to write a server in PHP I might consider using OS support like fork and cron. In Java, I’m off in thread land. Erlang it’s processing and messaging. Scala is all about actors.

I find myself mixing paradigms and doing stupid stuff, like trying to fake Erlang’s message passing in PHP by multiple scripts communicating by repeatedly touching rows in a database. Dumb, but becoming harder to avoid as everything slowly bleeds together in my mind. I’m in the mud and I desperately what to be clean again.

My Current Insanity

Here’s a broad sample of what I’ve done lately (as in the last month or so) for work and personal projects:

Erlang – Work
Freshened my Erlang, wrote a sample custom module for ejabberd, played with Nitrogen.
Flex/AS3 – Work
I helped out a little bit with FlexMonkey 1.0, including the fuzzy pixel bitmap comparison support.
Flex/AS3 – Work
ScrumMonkey is another Gorilla Logic open-source project. I upgraded everything to work with Flex 4 and LCDS 3.0.
Java – Work
Fun with Spring, Hibernate, and Spring Actionscript. Can’t say any more about the project.
Javascript – Work
I helped develop FlexMonkium, a Selenium-to-FlexMonkey testing tool that enabled automated functional testing of hybrid web apps. I used Javascript and XUL.
Objective-C – Justin
Wrote and published a US states and capitals memorization helper app. Read more or get it from the app store.
Objective-C – Work
iPhone and iPad. Cool stuff. Can’t talk about it yet.
PHP – Justin
Released Viceroy, a one-column WordPress theme with a dash of pink.
PHP – Work
We needed to get our community feedback out of Google Groups and into our FlexMonkey Forum. I wrote a simple scrapper in PHP and blogged about it.
PHP – Justin
Various WordPress and Drupal side projects just for fun.
Ant, Maven, Bash, Rake – Work & Justin
Scripted a bunch of stuff…

And that’s just my current insanity: the languages that I’ve touched lately. But I’m not special! At least, not in this case. The list is similar for many co-workers, and many of my friends that are web developers.

The Sensible Plan

If I’m to blame, then I’ve got to be the one to fix it. So here’s my plan:

  • Forget one language every year – Forget the syntax, forget the weirdness, and forget the whole ecosystem (frameworks, tools, community). Say goodbye and don’t look back. But before you leave a language behind, pick one core concept, one of the things the language does right, and take that with you. For example, when I forget Erlang, I’ll take the concept of concurrent programming with me. So I’ll remember stuff like immutability, message passing, and processes. When I forget Ruby, I’ll take DSLs with me. Ruby does lots of stuff well, like blocks, mixins, terse syntax, and meta-programming, but I always enjoyed using all the great DSLs the best, so that’s what I’ll remember.
  • Don’t learn one programming language every year – Yep, I’m going against Andy & Dave. So no Haskel, Clojure, Duby, Go, or Reia for me this year. I’m obviously feeling a little full on languages right now, so I’ll take a break for a few years.
  • Learn one or more APIs every year – Since Web 3.0 is all about APIs, I might as well spend some time learning more of them. The big boys are obvious: Twitter, Facebook, Flickr, Google Maps, but there are plenty more that are really interesting. From the practical side, every single web project either integrates with other APIs, wants their own API, or has some set of requirements that force a good SOA architecture (aka some internal set of APIs).
  • Upgrade my soft skills – Slinging code is fun, but it can’t be the only thing I do if I want to be a great employee. So instead of picking up all these little bits of shiny tech, I’m going to going to focus my lust for the new on upgrading my soft skills. I write this blog to improve my writing, but I haven’t spoken at a big conference since CLEO/QELS in 1999 and I was really bad. So I hope to do some public speaking in 2010.

Basically, I’m hoping to elevate my kung-fu by going for more depth of knowledge. Then, I’ll do my best to control the relentless expansion of breadth. New and shiny is no longer sufficient. Talking things through with co-workers and writing this post is a great first step into the future. I’m already feeling optimistic about my path.

Footnotes
  1. I’m not really insane, at least I don’t think so. I’m just functionally insane. For a glimpse into the mind of a real schizophrenic, I highly recommend Is There No Place On Earth For Me? by Susan Sheehan. It won the non-fiction pulitzer prize in 1983, so it’s a little bit dated now, but an unimaginable story.
  2. Actually, my friends and I played a lot of Rolemaster (wikipedia) and Champions (wikipedia) which are superior role playing games. If you are a true fan, you’ll understand. If not, the image of boys with dice conjured by Dungeons & Dragons is a good takeaway.

UPDATE: I wrote a follow-up post to address all the great feedback: Schizophrenic Following

FlexMonkey 4 is coming!

Posted in Stu Stern on April 18th, 2010 by Stu Stern

Stu Stern originally posted this on Big Gorilla - Stu Stern's Blog.

We've just completed testing and anticipate releasing FlexMonkey for Flex 4 before the end of April!

This upcoming release, which we think we're going to call "FlexMonkey 4", works perfectly with Flex 4 and handles all of the new Spark components.

Top Three Motivators For Developers (Hint: not money!)

Posted in Dave Rodenbaugh on April 13th, 2010 by admin

admin originally posted this on Lessons of Failure.

Software has long since lost its glory-days status.  We’re not the go-to field anymore.  Geeks are no longer revered as gods amongst humanity for our ability to manipulate computers.  We get crappy jobs just like everyone else.

So, what is it that still motivates you to work as a software developer?

Ah...satisfaction!

Is it your fat salary, great perks, and end-of-year bonuses?  Unless you’ve been working on Mars for the past two years, I think Computerworld would disagree with you.  We’ve been getting kicked in the nads just as hard as everyone else.  Between budget cutbacks, layoffs and reductions in benefits or increases in hours, clearly our paychecks are not our primary source of satisfaction.

If money was our primary motive, right now we’d be seeing a mass exodus from the tech sector.  So, if it’s not the money, then what is it that we hang on to when we get up each day?  Are we really working for those options?  That salary bonus?

Turns out, we’re kidding ourselves if we think that’s our real motive as developers.

The assumption: People perform better when given a tangible, and even substantial, reward for completing a task.  Think bonuses, stock options, and huge booze-driven parties.

The reality: In a narrow band of actual cases, this is true.  (And by narrow, I mean anything that isn’t a cognitive task, simple or complex, according to the research I quote below).  By and large, the reward-based incentive actually creates poorer performance in any group of workers for cognitive tasks, regardless of economic background or complexity of the task involved.  (Sorry, outsourcers…dangling the reward under your workers noses doesn’t help even when your home country is considerably poorer on average than Western economies.  Yet another surprising finding of their research.)

I’m not making this up, nor am I just drawing on anecdotal experience.  Watch this 18 minute video from TED and I’ll bet you’re convinced too:

Daniel Pink gave this lecture at the 2009 TED.  It’s mind-blowing if you’re stuck in the carrot-and-stick mentalityAnd I’ll just bet, unless you work for Google, are self-employed, or extremely worldly, you probably are.

I’m not saying that to be mean or controversial.  I’m saying that because this mentality has pervasively spread to every business, industry and country on the planet over the past 100 years.  It’s not just software development, but we’re hardly immune from its effect.

While we’re not immune to the impact, we do have a lot going for us that gives us an advantage in stepping outside this mentality:

  • Developers tend to be social oddballs and the normal conventions seem awkward to us. Social oddballs tend to question things.  We don’t like what everyone else likes because, well, we’re nerds and we don’t think like sales people.  Or accountants.  Or athletes.  We’re willing to try things others find weird because we’re weird too.
  • Because we’re odd, we tend to be forward thinking and revolutionary in our approaches to workplace advancements. Think about the good aspects of the Dot Com era:  pets in the workplace, recreation rooms with pool tables and ping pong, better chairs and desks for people, free lunches.  Those innovations didn’t come out of Pepsi, Toyota, or Price Waterhouse Coopers, they came out of tech companies.  Every one.
  • In doing so, our weird becomes the new normal. Witness the output of the Dot Com era:  Aside from the economic meltdown, how many companies now regularly practice some, if not all of those things we did back in the late 90s?  (Albeit with more restraint, thankfully)

With that in mind, let’s take Daniel’s idea of the results-oriented work environment (ROWE) forward and create something new for the 21st century.  It focuses on three important ideas, which developers already love and embrace:

  1. Autonomy
  2. Mastery
  3. Purpose

Autonomy: What developer out there doesn’t like to be given the freedom to do their own thing, on their terms, with their preferred hours, using their tools, environment, IDE, language, operating system and favorite t-shirt?  Find me a single developer anywhere that doesn’t crave this kind of freedom and I’ll pay you $10.  Seriously.  Drop me a contact above.  I’m good for it.  Of course, you’ll search for the rest of your life and won’t be able to do it.

Mastery: Every developer on the planet wants to get better at what they do.  We crave new knowledge like some people quaff coffee after a hangover.  Fortunately, the side effects of getting better at development are far more benign than caffeine binging.

Purpose: Nothing is more tedious, horrific, or uninspiring to developers to work on projects that lack any real meaning in the world.  Or lack any real direction.  Or lack any substantial need from the company.  In fact, you can probably point to the brightest points of your career all stemming from those projects that had the deepest meaning to you personally.  Maybe the darkest points are those soul-sucking projects that you waded through because you were glad to have a job but desperately waited for things to improve so you could find a better job elsewhere.  Preferably where soul-vacuums didn’t exist.

Google gets it:  They already advocate the 20% time concept and (near-)complete workplace freedom.  Atlassian gets it:  They have the Fedex challenge where everyone in the company gets 24 hours to work on something they are interested in, with the caveat you have to deliver it at the end of 24 hours and you must present it to the company.  Think those don’t create passion for the company?  How about the Nine Things Developers Want More than Money?  These points all touch on the same three basic concepts:  autonomy, mastery, and purpose.

Does your company “get it”?  If the answer is NO,  what can you do right now to change your workplace to “get it”? And if that is too Sisyphean a task for you, how about starting your own company instead, that does “get it”?

That’s my challenge for you in 2010.  “Make software suck less in the 21st century”

Good luck.

No related posts.

Why Can’t Google and Apple just Get Along?

Posted in Eric Daugherty on April 12th, 2010 by admin

admin originally posted this on EricDaugherty.com.

Google and Apple are at war.  Google entered Apple's 'home turf' with Android, and Apple is entering Google's 'home turf' with iAd.  There is no question that the war is on.

In most situations, competition is a great thing.  It drives companies to innovate and produce better products and services.  While that will certainly happen with their respective mobile operating systems in this situation, I believe these are two companies that would be much stronger working together.

Google and Apple are good at very different things.  Gruber nails it when he says:
No better comparison of the cultural differences between Google and Apple than to compare Google Docs and iWork. iWork has no form of cloud based syncing or collaboration; the appeal of the apps (both on the Mac and iPad) is that it helps you create beautiful documents. Google Docs is all about cloud-based syncing and collaboration; its example documents are downright homely.
Google is great at building services that scale.  Gmail, Google Docs, and Google Maps are all great services, usually with simple and effective interfaces.  Apple is great at creating intuitive user interfaces and well engineered hardware.  As an end user, I want my services provided by Google on hardware built by Apple.

More specifically, I want my web user interfaces built by Google, and my native applications built by Apple.  I enjoy the close integration I have on my iPhone between the Calendar, Mail, and Contact applications and Google Apps (which is ironically made possible by Microsoft's ActiveSync).  I like Google's web interface to Gmail and Calendar.  I want them both, and I want them to work together.

In my ideal world, Google would provide a service interface for these services, and a generic web interface that is accessible anywhere, on any (modern) browser.  Apple (and others) would provide native applications that utilize these services.  I want to be able to access my data using either the browser (provided by Google) or a native app (by Apple) on either my iPhone or MacBook.  I wish the Address Book application on my MacBook worked as well with Gmail as the Contacts app does on my iPhone.

It should work this way across all services.  iWork should be able to store and edit files on Google Docs, which could then be edited using the web interface as well.  Everything lives in the cloud, with the ability to cache local copies with the native applications (or advanced browsers).  

Unfortunately, it looks like Apple and Google are moving farther apart, instead of closer together.  It is clear that Google first 'invaded' Apple's space with Android, but Apple is certainly a company that holds grudges and is very aggressive.   Adobe knows this all too well.

As an end user, I'm afraid this is one area where competition may not produce the best result, but who knows.  Neither Google nor Apple are going away anytime soon, and they may both surprise us with what they do.  Let's just hope it is about creating better products instead of damaging the competition.

Stop Breaking These Laws (of Software)

Posted in Dave Rodenbaugh on April 6th, 2010 by admin

admin originally posted this on Lessons of Failure.

I’ve mentioned a number of software laws in various posts, like Cargill’s Ninety Nine Rule, or Occam’s Razor.  And there are tons of laws that you probably already know, like Metcalfe’s Law or Moore’s Law.

I’ve found a very complete list of the laws regarding software development (I highly recommend reading that link. I’ll wait, go ahead).  But from that list, we seem to have developed a complete blind spot for five in particular.  Let’s look at these five and how our collective ignorance of them continues to impact software development today:

Law #1: Amdahl’s Law

Gene Amdahl first published this notion in a 1967 paper.  This law is about the mistaken notion that “All We Need Are More Parallel Processors and Our Software Will Run Faster”.

The Damning Evidence: Pop quiz:  have you bought a new machine in the past 4 years that was multi-core?  Were you a little disappointed when you checked the processor usage and found that not every one of those shiny, new cores was busy all the time, no matter which of your apps you ran?

We buy new hardware with the mistaken impression that our old programs will continue to run even faster than before because we expect our software to take advantage of all those friggin coresBut software never runs as fast we expect it to on the multi-core hardware, because the parallel component of the program is often missing, underdeveloped, or poorly understood by the developer. Thus, our software continues to disappoint us on even on shiny, new multi-core hardware.

Exceptions: Some applications have been expressly written to be massively parallel and they continue to kick ass and take names on new multi-core hardware (e.g. rendering, scientific and encoding applications).  By and large, most applications simply don’t benefit from those extra cores because they weren’t written to do so.

Law #2:  The Law of False Alerts

First introduced by George Spafford in this article, the law states that the more the user is presented with false or erroneous alerts, the more they will ignore real alerts in the system.

The Damning Evidence: Windows Vista is the classic current example.  Every bloody operation in it required your permission from the user authentication module.  After while, you just madly clicked “Yeah, sure whatever…” for every warning that popped up.  This, of course, robs the operating system of any ability to protect you from a real threat because you’ve been annoyed by the feature in the first place.

Of course, people still design applications like this:

  • “Are you sure you want to delete?”
  • “No, really, are you REALLY sure you want to delete?”.
  • “OK, look, I’ve asked already but just so I can’t be blamed for anything, are you SUPER-DUPER-ABSOLUTELY, 110% sure you want to delete?”

Stop the insanity.  If they click delete and they weren’t supposed to, how about offering an undo operation?  Too hard you say?  Then you’re not trying hard enough.  Don’t punish the users for bad design.

Law #3:  Jakob’s Law of Internet Experience

From Jakob Nielsen, web usability guru, who states that users only spend a small fraction of time on your site, compared to all other sites.  Therefore, your site experience should be similar to all other sites to minimize learning curve and maximize usability.

The Damning Evidence: Well, things like Firefox Personas aside, which distract your users from the actual content of the sites, we still can’t seem to come up with a consistent way to develop user interfaces on sites.  Thanks to Web 2.0, everyone is now trying to copy the success of sites like Facebook, Twitter, and other social networks to create wild, experimental web pages that are just plain awful to use.

Don’t get me wrong here:  I’m not saying different is bad, I’m saying that different is hard to get right.  Users (especially “Normals”) don’t like to be made to think how to use things.  But that doesn’t seem to stop us creating web pages with crazy stuff on them.

Exceptions: Sometimes, user interfaces are giant evolutionary steps that simply lie outside the normal boundaries we’ve come to expect and that’s acceptable.  The iPhone was a perfect example:  no one really had mastered the touch interface until Cupertino & Co came out with it and they didn’t exactly follow any of the old school rules.  But it was still a major success and now sets the standard for all smartphonesHowever, most everyone else thinks they’re creating the exception when they’re just breaking the rules poorly.

Law #4:  The Pesticide Paradox

Attributed to Bruce Beiser, the law states that every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.

The Damning Evidence: Things like Test Driven Development and Unit Testing give us the false impression that we’ve quashed the major bugs in the system when all we’ve really done is quash the obvious bugs, leaving the more subtle, painful, and difficult ones behind.  Many of these types of bugs are related to concurrency or particular complex data conditions that are difficult to express as unit tests.

Before anyone rants about this comment section claiming I think TDD is bad, or unit testing is evil, please hear me correctly:  Unit testing and TDD leave a false sense of security that we’ve managed to create stable software. They are a starting point to more complete testing, but they are not the end.  The meaningful problems are often in integration with other systems and modules, that are often left out of testing plans because of time constraints, schedule pressures, laziness and sometimes plain arrogance.

Exceptions: Small, simpler systems rarely suffer from these issues because testing is much easier.  This is mostly a complex software problem, at a level of enterprise development, large applications (e.g. Microsoft Word), or operating systems.

Law #5:  Fisher’s Fundamental Theorem of Natural Selection

While this law stems from genetic research by R.A. Fisher, the application in software is somewhat obvious:  The more highly adapted an organism becomes, the less adaptable it is to any new change.

The Damning Evidence: We strive to create complex, interesting, and highly useful frameworks:  Hibernate, Struts, Flex, ExtJS, and jQuery to name a few.  But every version we release generates new requests by the users for missing features or enhancements.  Each change adds more complexity.  And the more complex the software, the lower the chance those changes can be easily accommodated in subsequent versions.

For example, Struts went through a major rewrite for version 2.0, which speaks volumes about the original version’s adaptability to change.  Spring did a major update for AOP that was a breaking change from 1.0.  ExtJS did the same for their 1.0 and 2.0 releases.

Exceptions:  Probably none–this seems to be the inherent nature of frameworks.  But if you know of something, please prove me wrong in the comment section.  I’d love to hear about some piece of software that didn’t follow this rule.

No related posts.

FoneMonkey 0.7.2 Released

Posted in Stu Stern on April 4th, 2010 by Stu Stern

Stu Stern originally posted this on Big Gorilla - Stu Stern's Blog.

Thanks to the continuing feedback from our rapidly growing community of FoneMonkey users, we've been able to identify and fix several issues and bring you FoneMonkey 0.7.2, available now at FoneMonkey Project Home.

This release fixes various bugs including problems with keyboard and scroll recording.

Episode 23: I’d give it a 4.5 out of 10

Posted in Drunk On Software on April 2nd, 2010 by admin

admin originally posted this on Drunk on Software.

In Episode 23 we chat with Adam Flater and Rob Rusher about some very controversial topics. Adam points out James’ wishful thinking when we discuss what defines something being a “Flex application”. Jon gets the award for best quote of the episode when we discuss Flex and it’s Community. Things get fun as we discuss Silverlight and Flex differences. As we wrap up Jon rates the wonderful scotch we were drinking an 8 out of 10.