Puakma: Under the hood

I'm Brendon Upson, jack-of-all-trades, master of one or two. I'm talking about life running a small ISV tackling business issues and leaping technology hurdles in a single bound.

webWise Network Consultants is based in Sydney, Australia and develops the groundbreaking Tornado Server technology.

Taming the Vortex

Filed under: by Brendon Upson on 2005-08-30

For the last couple of days I have been working flat out inside our Vortex IDE, using it to create web apps. My impression so far: IT ROCKS!

Obviously there are a few small issues that need ironing out (like creating a new action and having it appear as shared code. wtf?) The good news is we can still use the webdesign.pma application as a backstop so the small hurdles are easily overcome. I'm guessing about a 15% productivity gain over the existing development tools. That's huge!

The application I have been working on is an internal one for managing our consulting projects. It's a job I have been putting off but we're at the point now where we have a few too many balls in the air and tracking them all is becoming difficult. This is a revamp of our old project management system, this time tuned specifically for software development. The big focus area is on scope management and breaking a customers whim into some tangible outputs. The model seems to work well with the little data I have entered, and I know this will be a continuing work in progress. So far so good.

That's life here at the moment, eating hearty doses of our own dog food and strangely enjoying it.

We also got away last week for a couple of days at the snow. Hard to tell from the picture but that's actually an Australian winter. Left to right: Brendon Upson (me), Bruce Williams, Martin Novak (Mr Vortex IDE).

New feature: Parent Pages

Filed under: by Brendon Upson on 2005-08-29

Friday afternoon saw the implementation of an idea I had first thought about some two years ago. Now I wish I had implemented it way back then.

Today we were working on an application with a LOT of pages. Each page included a header, a navigation panel, some html to bind the parts together and the specific content for the page in question. It's a model that's in 99% of applications I have seen, the duplication and redundancy has always bothered me but had been unable to come up with an elegant way of solving the issue. Until now.

Now we have the ability to flag any page as belonging to a parent. When the browser requests the page, the server determines that it should be displayed inside its parent and renders the child page inside the parent at the location of the first

tag. This affords ALL layout to be written only once on the parent page and the child to contain no layout (other than that specific to its own unique functionality), just the fields and javascript for that page.

I see Puakma Tornado server squarely in the business market. If you can reduce build and maintenance times for an application by even 10% then we have a huge dollar saving.

I recall doing some work for a large bank here in Australia. They had decided to rebrand their Domino based Intranet which consisted of a few hundred applications (seperate .nsf files). The task was a killer - every page in every application had to be touched and manually made over. All in all not so much of a fun job! With this new Tornado feature it would simply mean changing one page design element to have a radically different on screen layout.

We haven't implemented parents of parents yet, but that should be a simple tweak when the moment calls. I can't think of a scenario where that would be useful, but I'm sure one of our customers will ;-)

Is opensource killing opensource?

Filed under: by Brendon Upson on 2005-08-22

As you may know, my rear is parked firmly on the fence when it comes to opensource. I am continuing to have difficulty determining how opensource can be a profitable venture for a software development company. This week I noticed a couple more speedhumps in the opensource camp. Remember I am looking at these issues from the perspective of a business deciding whether to use (or continue to use) opensource software.

In the news recently is the struggle with Mambo http://www.phparch.com/news/2461. Forking the code is possibly the biggest issue, since the code is free, anyone can copy the code and start their own version. This ordinarily isn't a big problem, except when the core developers have a spat and go their seperate ways. When this happens businesses using the code need to decide which path to follow.

Secondly, backward compatibility is an afterthought. mySQL has got it right but other don't. We are using PostgreSQL on a customer's site and they recently upgraded from 7.3.3 to 7.4. Looking at the version numbers this one should be able to happily ascertain that it is a minor upgrade. Alas no. Big chunks broke because the underlying database system now behaves differently. In 7.3 if you try to insert a string "1" into an integer field it would work with no issues. in 7.4 you must specifically insert an integer 1 or the entire insert/update fails. This happens because none of the developers are answerable to businesses using the software. This is exactly why Microsoft software is so commercially successful - they take great pains to make upgrades and installation very simple and hugely backward compatible.

 

Vortex IDE Screenshot

Filed under: by Brendon Upson on 2005-08-17

Work has been frantic over the last couple of weeks rounding out the Integrated Development Environment (IDE) for Tornado Server. Today, here's a screenshot! For you Domino developers out there you should notice a few similarities. This is not a specific Java development IDE, but one designed to build business applications. For my mind a lot of IDEs are great programming tools, but not so good at solving business problems.

Vortex IDE is built on the (fat momma) Eclipse platform, and communicates with Tornado Server using SOAP web services over HTTP. This makes it entirely possible to connect and work through firewalls since no special ports need to be open. Basing it on Eclipse also means a huge range of workstation platforms are supported from day one - we work mostly on Apple Powerbooks here so a multiplatform IDE was mandatory.

We will be putting together a custom RCP package for Eclipse with only those plugins you absolutely need, but the Tornado Server IDE extensions can be added to WSAD or the full Eclipse SDK if you want to use only one IDE for developing for a few different servers.

What? No Hockey mask?

Filed under: by Brendon Upson on 2005-08-15

Sunday marked the turning of another year. 33. I remember as a kid it seemed to take forever for a year to pass. Now I just close my eyes for a few minutes and a month has rocketed by. Frightening. As you can see from the picture, one birthday gift was a chainsaw. OK, I know, there's no actual practical value for a bloke in suburbia to own a chainsaw but I have a penchant for powertools (what guy doesn't?) and firm aspirations for farming.

What better way to test out the new toy tool than to cut the birthday cake?

...and how good were the All Blacks on Saturday night's Bledisloe Cup? :-)

A fountain of ideas

Filed under: by Brendon Upson on 2005-08-10

it's been great having Martin here. We've been exploring a range of technologies and ideas and possible things we can do with Tornado server and the Puakma technology in general. So far I think we need about 84 years to get through them all. Every idea spawns 10 new ones.

Today we were talking about ad hoc project teams, where a bunch of consultants arrive at a customer's site and do some short term work (much like we are doing here!). The need to share files and data easily and perform some basic collaboration but don't have the time to install and configure a full server. This led to talk about how we would find other nodes on the local network with trying to work out your (possibly moving) local IP address and tell everyone on the team. I started taking a look at what Java provides in the way of IP multicasting and tonight designed a quick .pma application that both broadcasts its presence and maintains a list of other nodes that are visible. it's kinda cool to see new nodes appear and disappear as laptops move on and off the network.

I really enjoy this kind of technology experimentation. It's like starting with a blank slate and creating something both cool and useful to others.

All systems go

Filed under: by Brendon Upson on 2005-08-10

Tornado Server is going ahead in leaps and bounds. The installer has been streamlined, the core broswer apps refined, a DHTML datepicker included and the Vortex IDE is very nearly ready for beta testing.

Martin (Mr IDE) Noval is currently here in Asutralia. We're rounding off the corners and introducing Martin to some Australiana. It does make a big difference meeting face to face to discuss the intracacies of how the IDE should work and also allows him to see first hand how the IDE is used to develop web applications for customers. The base code has now been ported to Eclipse 3.1 (which looks a whole lot better than 3.0) and the plugin simplified (only one plugin instead of two). I'll post some screenshots of the Vortex IDE in the next couple of days.

Way cool!

Filed under: by Brendon Upson on 2005-08-04

I have been writing web apps for Tornado server for a few years now, spending more time on client apps than system apps. For the most part the system apps are feature complete but working with them every day even being able to shave a few seconds off each task overall saves a lot of time. Today I added a huge feature to the /system/webdesign.pma app: The ability to edit the application design using only a web browser!

Why is this so important? For starters, making design changes is now very easy and can be done from any PC on the planet with a modern web browser. Second, developers trying out the capabilities of the server can easily get started without the additional pain of installing client-side development tools. By no means is this a replacement for the Vortex IDE we have in development, but really bridges the gap between the patchwork of tools we currently use and the comfort of a dedicated IDE.

We live in interesting times!