Friday, October 25, 2013

IOS Full Throttle and the Open Source Office Mates

Flex is growing like crazy.  We're trying to simultaneously add new features like ROI and Multi Session while refactoring our core system to run in a multi-tenant fault tolerant architecture.  We're also trying to minimize the amount of front end work we do in Flash since we plan to start work on a complete HTML 5 rewrite of the front end shortly.  With all this stuff going on, the can that keeps getting kicked down the road is IOS apps.

We've done a proof of concept for iPad/iPhone apps, but that's about as far as its gone.

We've always maintained that the lack of Flash compatibility on IOS is a blessing is disguise because it forces us to address the mobile user experience directly instead of just letting Flex be a web app that runs in Safari (although it will be eventually).  A mobile app should be designed expressly for the form factor of a mobile device: for thumbs, not fingers.

We've made a lot of decisions about our approach to IOS: native instead of web based, device specific HMAC authentication, bar code scanning via the camera or bluetooth scanner, etc.  But what we haven't had is the time to really work on it given all the other things going on.

Erik The Viking

That's why I'm pleased to announce that on November 1, Erik Ralston will be joining our team as a Lead Software Development Engineer - and focused (almost) exclusively on mobile applications.  He'll be joining us on site in our new engineering office in Richland, Washington and he comes to us by way of Danish CMS consultancy Addisolv.   Prior to that he worked on super secret projects for Pacific Northwest National Laboratory and did a post college stint at Seagull Scientific working on their popular BarTender label printing software. And the guy has an actual Computer Science degree, so I look forward to having long discussions with him about graph theory, finite state automata and logical algebra to make up for my lack of technical education (My major may have been technical theatre, but that doesn't mean I have a technical degree).  He's also one of the organizers of Tri-Cities Startup Weekend and active in a whole slew of technology meetup groups around town.  He's a good guy to even know and we're thrilled that he'd sully his reputation by deigning to write mobile apps for us roadies full time.

The Benefits of Elbow Abrasion

Now Erik has been contracting with us for a bit already.  He's one of a number of great developers and designers we've met since opening up The Flex Code Space, which is what we call our new engineering office.  Our new space has seven private developer offices and a cozy lounge / conference space for meetings.  We didn't need all the offices right away,  so we decided to rent private offices out to freelance developers and designers until we grow into our space.  The offices got snapped up almost immediately and has made our office a regular stop on the Tri-Cities coworking circuit.  We've hosted meetings of the infamous Doctype Society, hackathons, technical and business talks put on by Room2Think and even the odd play reading.

It's been great for Flex to have regular interaction with all these smart creative people.  We met Erik and a number of other people who've made their brains available for picking.  We've also enlisted their help in our mobile effort and the open source initiatives we've launched to lay the technical foundation for our high availability architecture.

Open Source Role Call

We've launched two open source projects in recent months and contracted with some of our office mates to help with them.

blockd

One of these projects is Blockd, an open source lock server intended to help us maintain concurrency for barcode scans and other atomic operations once we start running Flex on multiple load balanced servers.  Source and some basic documentation is on Github here.

Erik wrote the server and node client while another office mate, a Java veteran named Brian Manley, is working on the Java client we'll eventually use in Flex.

alto

The other big open source project we're sponsoring is called alto, a library intended to provide Java developers with a pile of tools for writing multi-tenant high availability Java web applications.   I've done a lot of work on alto myself and recently enlisted Brian's help writing a multi-tenant JDBC driver.

The source and documentation for alto is available on Github here.

Now we're kicking around the idea of writing a Atlassian Crowd client in Erlang and adding Crowd support to RabbitMQ.  That's a pretty obscure one, even for the open source world, but it would make our own lives a little easier as we roll RabbitMQ out across our install base.

Flex is pleased to be sponsoring all these open source projects but our motives are pragmatic.  These tools solve problems for us and keeping them open source holds out the possibility that they might evolve and grow, perhaps spreading out the maintenance burden should the projects become successful.  The chief benefit of giving away our tools is that the people who use them might improve them for us.

But success in the open source world requires it's own kind of marketing and while we'd be thrilled if the projects we're sponsoring gain widespread adoption, we aren't going to actively chase open source glory - not just yet.

The Long Neglected User Experience

The Code Space office mate with the most aesthetically coherent office is predictably a designer, and a rather good one named Doug Waltman.  In addition to his freelance work, he's been working with Flex on UI/UX designs for our IOS apps.  Here's a little preview:


We've never really had the resources before now to incorporate graphic and user experience design into our development process.  Having Doug down the hall is going to be a big help to us as Erik works through all the UI problems we'll have to solve for the small screens that run IOS.  He'll also be a big help as we tackle the HTML 5 rewrite.

Having a usability advocate and someone with a real sense of design in the loop, even if only on a freelance/contract basis, makes us very excited about the IOS apps and future versions of Flex.

Who knows, maybe our web site and this blog might even look presentable some day.

Honorable Mention

We have a few more office mates who have contributed nothing whatsoever to Flex, but since they're good company and their checks clear, I'd hate for them to feel left out.  And those maligned souls would be Nate and Joe, both masters of Javascript Ninjitsu, 3D printing and indoor agriculture.

I typically start to roll my eyes when people throw around words like "community" (because I think it's a word authoritarians use to mask their control), but I have to reluctantly admit that I might be part of one now.  It's only a matter of time until Flex and its users start reaping the benefits.

If you need me, I'll be in the bathroom throwing up rainbows.





No comments:

Post a Comment