People@Ephox

People@Ephox brings together both official and unofficial blogs about Ephox. The aim is to provide a central place to learn about the people, products and culture of Ephox.

How to Deploy a Plug-in within EditLive!

Ephox Developer Resources - September 01, 2010 05:00 PM

Overview

In talking with our customers, one of the most requested capabilities is the ability to extend or customize the behavior of EditLive!. Many of the most advanced of these scenarios requires the creation of a plug-in. In addition to customizing the editor experience, plug-ins also make the work of extending EditLive! simpler because they provide:

  • Easier management and deployment of extensions/customizations
  • More flexibility in deployment – you can choose when to load a plug-in so that users don’t wait for a plug-in to load if they will not use that functionality.

If you are new to EditLive! and plugins we have many plug-ins available via the Liveworks website (http://liveworks.ephox.com) that are available for you to use with the Enterprise Edition of EditLive!.

This article will focus solely on how to best deploy a plug-in within EditLive!. The article assumes you already have a plug-in compiled to a JAR and are ready to deploy it within EditLive!.

Deploy a custom Plug-in

To deploy a custom plug-in you only need to do two things:

  1. Place the plug-in JAR file in a location that is "web accessible" so EditLive can load it at runtime.
  2. Add a <plugin> tag to the configuration file. This tells EditLive that you want to load a plug-in. The plug-in tag will also tell EditLive where to get the JAR file and which class to invoke at startup.

1. "Deploy" the JAR to a web accessible location

There is no requirement on where you must place your plug-in JAR file other than the location must be “web accessible” so EditLive can load the JAR as the editor itself loads.

We would strongly recommend that you do not place your own plug-ins in our standard plug-in folder. We recommend against this, as it is very easy to forget you have placed custom code in that folder. When upgrading EditLive!, we see many customers accidentally overwrite the plug-in folder and accidentally delete their customizations.

What we recommend instead is to put your plug-ins into their own folder and then reference your folder using the <plugin> and <advancedapis> tags.

For this article we will use this technique and have written these instructions assuming that you have created a myplugins folder at the root of your web application.

In your myplugins folder you need to place the compiled JAR file for your plug-in. For example, if you were using our table styling plug-in you would end up with the tablestyles.jar file in the myplugins folder.

::Desktop:Screen shot 2010-08-17 at 13.21.32.png

2. Add a <plug-in> tag to the configuration file

The second stage of utilizing a plug-in is to tell EditLive to load the plug-in as it starts. The key to this is the <plugin> tag and its child tag <advancedapis>. Using the myplugins folder that you created in step 1 we create the tags to load the JAR as follows:

<plugin>

<advancedapis jar="myplugins/tablestyles.jar" class="com.ephox.editlive.tablestyles.TableStylesPlugin" />

</plugin>

::Desktop:Screen shot 2010-08-17 at 13.24.10.png

This <plugin> directive must be placed within the <plug-ins> tag that should already exist in your configuration file. EditLive loads a variety of its capabilities via our plug-in mechanism so you will likely see several <plugin> tags in your existing configuration file. After you place your plug-in tag at the end of the list your plug-in will load the next time you start EditLive!.

Confirming your custom Plug-in loaded

Once you have completed the steps detailed above you should restart EditLive! and your plug-in will now be available to you.

Should you want to confirm that this has been successful you can double check this in the debug log. Full details of how to create a debug log can be found at: http://www.ephox.com/support/debug-log.html

If the plug-in has loaded successfully you will see this:

[DEBUG] PluginLoader - -(Thread-104) Plugin loading policy: background

[DEBUG] ClassLoaderFactory - -(Thread-104) creating Class loader for:file:/Users/Shared/offline/web/res/plugins/tablestyles.jar

[DEBUG] PluginClassLoader - -(Thread-104) Loading plugin from file:/Users/Shared/offline/web/res/plugins/tablestyles.jar

If however the plug-in has not loaded successfully you will see an error similar to the following:

[ERROR] InitClassRunnable - -(Thread-163) Failed to load 'com.ephox.editlive.plugins.tablestyles.TableStylesPlugin' from 'tablestyles.jar' using base URL 'file:/Users/Shared/offline/web/res/plugins/tablestyles.xml'. <java.lang.ClassNotFoundException: com.ephox.editlive.plugins.tablestyles.TableStylesPlugin>java.lang.ClassNotFoundException: com.ephox.editlive.plugins.tablestyles.TableStylesPlugin

at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:211)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:144)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

at com.ephox.editlive.java2.editor.plugins.PluginClassLoader.loadClass(PluginClassLoader.java:45)

at com.ephox.editlive.java2.editor.plugins.PluginClassLoader.loadClass(PluginClassLoader.java:45)

at com.ephox.editlive.java2.editor.plugins.InitClassRunnable.run(InitClassRunnable.java:40)

at java.lang.Thread.run(Thread.java:637)

If you see an error and your plug-in has not loaded successfully the first thing to check is that the jar is in a file that is web accessible and secondly that you have entered the correct name and path for the files in the configuration file. Ephox support are available to assist and you can raise a support case via our website if you would like any further details or assistance.

The Plug-in APIs used by these plug-ins are only available to customers of the EditLive! Enterprise Edition.
Ephox Technical Support does not cover LiveWorks! plug-ins.
Please direct any support requests or general enquiries about any LiveWorks! code, integrations or plug-ins to the LiveWorks! mailing list. This code is released as-is with no support and no warranty and is installed at your own risk. We recommend thorough testing of any LiveWorks! project before deploying to any production system.

The Email and P Myth

Adrian Sutton - September 01, 2010 02:17 PM

One of the greatest frustrations for anyone who develops an HTML editor is the constant supply of people who are convinced they want to use BR tags instead of P tags. Most of these are just people who don’t want “double spacing” and they’re happy once you give them the magical CSS incantation:

p {
  margin-top: 0;
  margin-bottom: 0;
}

The other group however are people writing HTML emails who insist that P tags are completely incompatible with some email clients and cause rendering problems. At one point it seems that Yahoo! Mail really did strip them entirely but now it just applies a different default CSS styling (ironically, the magical CSS above that removes the extra spacing). So if you naively use P without specifying the padding you want, some clients will display a blank line between paragraphs, others, notably Yahoo!, will push all the lines immediately under each other. The solution is of course the opposite magical CSS incantation:

p {
  margin-top: 0;
  margin-bottom: 1em;
}

Solved right? Nope. This runs straight into the where the heck do I define styles? problem. In HTML, it should be:

<html>
<head>
<style>
p {
  margin-top: 0;
  margin-bottom: 1em;
}
</style>
</head>
<body>
…
</body>
</html>

However while this works in some clients, it has no effect in most. Instead, the common wisdom is to move the style tag into the body tag:

<html>
<head>
</head>
<body>
<style>
p {
  margin-top: 0;
  margin-bottom: 1em;
}
</style>
…
</body>
</html>

Which works almost everywhere. Enter GMail. GMail never respects the style tag, only inline styles. So now you need to write your paragraphs as:

<p style=”margin-top: 0; margin-bottom: 1em;”>…</p>

Thankfully you can use the margin shorthand if you know what you want the left and right margins to be as well:

<p style=”margin: 0 0 1em 0;”>…</p>

I would strongly recommend using embedded styles while editing and then just use post processing to inline all the styles – Premailer can do that for you.

As far as I can tell, there is no need to avoid P tags in email anymore and sampling a number of emails from various clients that happened to be in my inbox, they turned out to appear in emails from a few different clients though that’s far from scientific and it was still intermingled with a lot of <br> and <div><br></div> hacks. I would be very keen to hear from anyone who knows of an email client that cannot be made to render P tags correctly.

With a bit of luck we may be able to start moving away from the horrific abuses of <br> tags…

The Demise of Wave

Adrian Sutton - September 01, 2010 10:58 AM

I had written up a long, comprehensive and timely set of thoughts about what went wrong with Google Wave, but WordPress ate it so you’ll have to take my word that it was awesome and instead put up with this rather late and significantly shorter thought.

There are lots of opinions around about why Wave failed, and they show that it was a combination of a lot of factors from poor UI, inexplicable purpose, unreliability and simply combining too many technologies that didn’t always fit (e.g. people don’t always want what they type to be shared immediately but real time collaboration was forced on them). Certainly I experienced most of those downsides, but the thing that really drove me crazy about Wave was it’s primitive support for notifications.

The people I was trying to follow on Wave were mostly on the other side of the world, so most of the time I wasn’t collaborating with them in real time, I was trying to come along afterward and keep up with the changes. Initially that meant logging into Wave and trawling through every wave to see if anything was new and later email notification widgets came in then built-in email notifications. Even with the email notifications though, it would tell me that something changed, but it was way too difficult to find out what changed. I’d have to log back into Wave and try to rewind and replay the activity in the wave, which meant living through all the intermittent changes and most of the time it just didn’t work at all.

What I really needed was a clearly highlighted diff included right in the email notification (or via RSS/Atom). I didn’t care how many different individual edits had been made, I just wanted to know what was different between the last time I saw the wave and now.

It’s not the first service I’ve seen suffer from the lack of notification problem – it’s a surprisingly common oversight, but it’s crucially important to success. If you lack good notifications you’re depending on the user seeing enough value on their very first visit to start coming back regularly so they see the changes and keep interacting with the system. With good notifications, users have a much better chance of seeing the value proposition because the system keeps reaching out to them with useful, valuable information. Just sending lots of email doesn’t work – that diminishes the value, it has to really give them an idea of what’s been changing.

The two best examples I’ve seen of this are Dopplr which has a million different ways to continuously view what’s going on without actually going to the site and Facebook which sends very effective email notifications, although the default settings are overly noisy for my tastes they have good controls to limit it to precisely what is useful. Twitter is also very good.

Advertising driven sites may make their money by increasing page views, but ultimately allowing users to keep up with what’s happening without coming to the site itself is a far more effective way to get them hooked on the service and keep them using it.

Benefits of the LWCM EAR Integration

Ephox Developer Resources - September 01, 2010 12:29 AM

With the release of LWCM 6.1, we redesigned our EditLive! integration for LWCM. Unlike the previous integration, our new integration is deployed as a complete Enterprise Application in Portal (commonly referred to as an EAR deployment).

So what does this mean for you?

WCM Upgrade Safe

One of the biggest problems with the previous integration was that every time you upgraded or patched LWCM, you had to redeploy the EditLive! integration. This could easily result in lost configuration if the all important backup stage was missed.

With the new EAR based integration, it removes these problems as it is not affected by LWCM fix-pack installs.

Clustering

The new EAR deployment approach greatly improves the installation on a clustered environment. Where previously EditLive! needed to be installed in each cluster node you can now use Portal cluster deployment mechanisms to deploy the EAR to all nodes.

Startup Performance

The most important benefit of the new EAR based integration to your end users however is that it significantly improves the startup time of EditLive!.

We've utilised best practice web caching techniques along with Java compression to reduce download times and significantly improve startup times of EditLive!. In fact you can expect a reduction of 70% in startups over the previous integration.

Visit Ephox at an Upcoming Event in Europe

Ephox Weblog - August 30, 2010 10:59 PM

  Event Blog Image

Visit Ephox at one of these upcoming partner events in Europe

IBM Software Day Norway - 14 September 2010

EPiServer Customer and Partner Day UK - 6 October 2010

<o:p></o:p>

IBM Portal Excellence Germany - 11 October 2010

In the News: Ephox Integrates WebRadar 2.0 With IBM Lotus Web Content Management

Ephox Weblog - August 30, 2010 10:22 PM

CMSWire.com: Ephox Integrates WebRadar 2.0 With IBM Lotus Web Content Management

A Quick Catchup

Kristin Repsher - August 15, 2010 11:47 AM

Viejo San Juan en la NocheWell, since the captain of this flight from Hamilton Island to Brisbane has very unkindly decided to turn inland and stop flying over coral and beautiful sandy islands, I’ve decided it’s time to write a blog post. That, and the fact that I’ve been doing an awful lot of travel recently but this poor blog has been left to sit lonely in cyberspace.

It’s been a very busy winter for me (and the rest of my family, although they are more likely to call it summer!). It started off with a wonderful surprise from James when he informed me that the food we were going to get in Brisbane’s Chinatown wasn’t nearly as good as the Chinese we’d be eating in a few weeks time. Where was that? I enquired, to which he replied that he’d bought us tickets for a weekend away in Sydney! A few weeks later, I had a flying trip over to Puerto Rico for my good friend Cristina’s wedding (and a few days of travel with Cristina’s fun PT friends to a bioluminescent bay and the rainforest, among other things), followed by a stopover in San Francisco to visit the Palo Alto Ephoxians. Those both deserve blog posts to themselves, but suffice it to say that I had a great time, especially getting to see good friends at the wedding. I love Australia, but it’s times like these that make me feel how far away from America it really is!

In early July, my “little” brother arrived just in time for crunch time for our WebRadar 2.0 release. In amongst all the Pizza Capers-filled late nights at work, I managed to meet him on arrival in Sydney and take him for a weekend trip up to Cairns. Despite the fact that when I asked Philip to summarise the Sydney trip, he said, “Opera House, Opera House, and more Opera House, with a bit of Harbour Bridge thrown in on the side,” A green turtleI still think he had a great time! It was a good way to start off his first trip Down Under as well. We had an absolute blast together in Cairns, spending one day snorkeling/relaxing on the beach on Fitzroy Island and one day on an Ocean Spirit cruise out to Michaelmas Cay. And what a surprise I got when I ran into a friend on the Esplanade in Cairns, only to find out that her and her father were on the exact same cruise as us the next day! I think all four of us left that cruise very happy, although I felt very bad that Jen didn’t get to see the green turtle that Philip and I swum with for 10 minutes (this was definitely the highlight of our snorkeling trips and will get a post of its own as well!).

A week later, my parents arrived from Singapore, and my time off began. With my dad only in Australia for a week, we couldn’t venture too far, but we still made the most of our time! We spent a day on the Sunshine Coast with James’ parents before driving up to Hervey Bay for a whale watch. The crew warned us countless times that it was still early days in the whale watching season so we shouldn’t be too disappointed if we didn’t see anything, but we lucked out and got to see 4 or 5 whales. Unfortunately none of them were very playful, but the dolphins made up for that by swimming in front of the boat for quite some time.

75 Mile BeachThe next day, we hopped on a ferry to Kingfisher Bay. Unfortunately the weather wasn’t so flash so we just spent most of the day relaxing before having what my mom described as “one of the best meals she could remember” at the Seabelle Restaurant. The next two days had varying weather—going between dark and stormy and perfect—but we made the best of them and had a wonderful time. We spent a day bumping around Fraser on a 4wd bus and even managed to squeeze in a 15-minute plane trip that took off from 75 Mile Beach (oh, and how fun it was trying to convince my mother to get on that tiny plane!). The next day we relaxed and did activities around the resort, including a canoe ride up a creek surrounded in mangroves and chasing herds of crabs around the beach at sunset. We punctuated the trip north with a seafood platter at Noosa Surf Club and an afternoon drive down the coastal road on the Sunshine Coast. Back in Brisbane, we managed to take in the Ron Mueck exhibition (see some of his amazingly lifelike sculptures here). I don’t know if my mother was more impressed by the sculptures or the fact that I got my dad into an art gallery! In the afternoon we did what all Aussie visitors have to do and cuddled koalas & fed kangaroos at Lone Pine Koala Sanctuary. All in all, it was a thoroughly memorable trip and a great introduction to Australia for my parents!

Unfortunately my dad had to leave after 1 week, but since I still had a bit of time off and my mom & brother were still here, we got on a plane soon after his and headed north again, this time to the Whitsundays. I was particularly excited about this because it was just as new an experience for me as it was for the rest of my family, and boy was it worth that excitement! We had such a great time on Daydream Island that I’m surprised we didn’t have to be pried away screaming when our ferry arrived to take us to the airport! Despite the fact that we were on a relatively small island, we were never wanting for activities, especially since you could simply swim from the beach to coral reefs—and snorkeling on those could keep me entertained for hours, or at least til I start getting a bit cold! Whitehaven BeachThere were quite a few highlights of the trip, but two come to mind immediately. The first was that we got my mom snorkeling! She’d never tried before and doesn’t really like putting her head under the water, but she eventually got in and was very excitedly pointing out the coral and fish all around her, so I’m pretty sure she had a good time. The second highlight was our sailing trip on the Camira catamaran, which took us through the Hook Passage and to Whitehaven Beach. We spent the day snorkeling, swimming/lounging at the beach, enjoying wonderful bbq’ed reef fish, and generally just taking in the astonishing scenery and trying not to get blown off the boat!

It’s been a few days (or a week and a half) since the I wrote the majority of this post, and things are a lot quieter here now. Mom & Philbert left last Sunday, and the house suddenly became very quiet. This weekend was the first in a long time that I haven’t been traveling. It was definitely nice to have some time to kick back and relax, but I wouldn’t trade all the fun and good family times we’ve had for anything.

Improving your Content Production Experience

Damien Fitzpatrick - July 28, 2010 05:31 AM

It’s 5 hours before your publishing deadline.  Do you know where your web content is?

A simple question, but for many of the people I’ve been talking to recently, it’s something that can be frustratingly hard to answer with their web content management system. 

It seems that there are many other questions going unanswered out there in the web content community.  How old is my web site’s content?  Who are the most active authors?  Are there bottlenecks in my workflow?  Are there items abandoned in workflow limbo?

These questions have a common theme.  They’re focused on managing your content production process.  While WCM systems are fantastic at automating processes for generating web content it still falls to your content owners and administrators to manage the health of your content processes and adjust as required.

As requirements change and you seek to optimize content production the processes enshrined in your WCM need to change and optimize as well.  Like any business process you need metrics to be able to effectively optimize and manage the process implemented in your WCM.  Your content owners and administrators need to be able to run reports to monitor your content production and the health of your WCM on an ongoing basis.

Then, once you have these reports you need the tools to take action, and probably not just on a single content item.  If you’re going to optimize your content processes you’re likely to need to make multiple corrections and changes across your system. 

It’s these issues that have driven Ephox to develop WebRadar.  The vision for WebRadar is to enable content owners and administrators to be able to report on and analyze the content production experience for their WCM.  Then, once they see a problem, they need the tools to enable them to fix it, whether it’s on one item or one thousand.  

The launch of WebRadar 2.0 this week represents a great leap forward in achieving this.  WebRadar 2.0 enables users of the IBM Lotus Web Content Management System to create reports using any combination of the 20+ metadata fields that govern content processes in this system.  Content administrators will be able to get the insights they need to be able to optimize the content production experience throughout their system.  Then they’ll be able to affect the changes required to ensure content gets where it needs to go rapidly.

In the coming weeks I’ll explore the user feedback that’s been driving Ephox’s WebRadar roadmap and take a more detailed look at WebRadar feature set.  But if you’d like to take a test run with the software then you can take a look at webradarwcm.com or get in touch and we can organize a live demonstration.

Rule Zero for writing a JavaScript Widget

Robert Dawson - July 17, 2010 01:37 AM

If you are adding ID’s you are doing something wrong.

This will cause issues for people who want to have multiple copies of the widget in
the page.  There is to much risk of ID collision.

There is always a way of navigating down the tree to find children (Especially if you
are writing a JQueryUI widget).

Classes are ok – and use them to find children – but DO NOT add an ID.

(This blog post written as a public service, after having seen way to many JQueryUI widgets that don’t get this right).

sliding puzzle game

Dylan Just - July 04, 2010 12:28 PM

Over the last week, I wrote a simple sliding jigsaw puzzle game using jQuery and underscore js. There’s a demo page and the source is open.

EditLive! for LWCM 6.1+ 4.0.2.16

Ephox Releases - June 17, 2010 07:23 AM

Includes EditLive! version 7.1.2.13.

Bug Fixes

  • Supplied configuarion file was not showing EditLive! 7.0 Enterprise Edition features

Amazing modding discovery at bunnings

Dylan Just - June 05, 2010 09:22 AM

Wow… just wow. For months I’ve been searching for the right way to mount hard drives for my new case modding project. Everything had too few drives or was too expensive.

Today I spent a few hours wandering around Bunnings and I found these little L brackets that were perfect. I honestly can’t believe it. They’re pre-drilled with holes that just so happen to be in exactly in the right place for hard drives! Each bracket is about $3.50; get 4 of them and you’ve got a cage that supports 6 hard drives.

FYI the sticker says “Make-a-Bracket GALVANIZED 150×50x40mm 2mm thick CARINYA MFG PAT.PEN NO 2003906533 Made in China.”

EditLive! for LWCM 6.0 3.5.1.110

Ephox Releases - June 01, 2010 11:49 PM

Includes EditLive! version 7.1.2.13.

Please Note

  • IMPORTANT: If you are using role based configuration please read the documentation – changes may be necessary

Bug Fixes

  • Group configuration files were not detected correctly when the group name contained an underscore

Mounting a folder on OSX over SSH

Robert Dawson - May 30, 2010 10:17 PM

It’s suprisingly easy to mount a folder via ssh. This is especially useful when you need to access something via ssh tunnels. Following is the process to follow when using an ssh tunnel.  To do without the tunnel, remove step 3, and make the sshfs command directly reference the server in step 4.

Step 1) get and install macfuse http://code.google.com/p/macfuse, along with the ssh filesystem http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS

Step 2) create a folder to mount to. mkdir -p /mnt/remote

Step 3) setup the ssh tunnel: ssh -C -L 2022:server_with_data_to_get:22 ssh.tunnel.server (going into server_with_data_to_get via ssh.tunnel.server, making this available at localhost:2022).

Step 4) Use sshfs to mount the drive: sshfs -C -p 2022 username@localhost:/path/to/folder_to_mount /mnt/remote (connect to the localhost -ssh tunnel end point- mount remote folder /path/to/folder_to_mount to the local folder /mnt/remote).

Quote of the year

Andrew Herron - April 12, 2010 03:29 PM

… or at least, a quote good enough to make me come out of hiding before I’ve explained why things have been so quiet around here.

John Gruber on the iPhone IDE debacle:

If you are constitutionally opposed to developing for a platform where you’re expected to follow the advice of the platform vendor, the iPhone OS is not the platform for you. It never was. It never will be.

To all the people whinging about this decision by Apple, go away. You can have your fun on Android or some other platform that supports your open development philosophy. If by some fluke Apple wind up with a such a massive majority that you’re forced to come back because all the users are here, don’t expect any sympathy from us. It will have happened because Apple’s restrictions resulted in the most consistent mobile OS experience, and users decided that’s what they want.

iPhone is a closed system, and in my opinion the overall quality of the apps available is better for it. Not that the app store is full of fantastic quality at the moment – you really need an iPod or iPhone to appreciate this, but the store has an amazing amount of crap already.

However I can see the app store really going down the toilet if they let “meta-platform” (as Gruber calls them) apps onto the store. Just look at what happens when people develop cross-platform apps for PC; you either target one primary OS and optimise your UI for it at the expense of the others, or target a general use case and suffer for having a non-native UI. Yes there are exeptions, but they are rare and most of them spend stupid amounts of time implementing multiple native UIs in their cross-platform code.

Gruber has a specific example of this:

Consider, for one example, Amazon’s Kindle clients for iPhone OS and Mac OS X. The iPhone OS Kindle app is excellent, a worthy rival in terms of experience to Apple’s own iBooks. The Mac Kindle app is a turd that doesn’t look, feel, or behave like a real Mac app. The iPhone OS Kindle app is a native iPhone app, written in Cocoa Touch. The Mac Kindle app was produced using the cross-platform Qt toolkit.

Native apps are always better; I don’t use OpenOffice more because the UI pisses me off than because iWork is cheap enough that I don’t mind paying for it. Windows is the same (I can’t stand Apple’s apps ported to Windows with Mac-style keyboard shortcuts). Once you allow cross-platform UIs to enter your computing world, life just isn’t as much fun anymore.

And I want my iPhone to be fun.

[update: A related article with an appropriate quote, this time from MacWorld].

… the develop-once-run-anywhere philosophy is something that makes more sense to bean counters and development-environment vendors than it does to platform owners and discriminating users. In the ’90s we were told that Java apps would be the future of software, because you could write them once and deploy them anywhere. As someone who used to use a Java-based Mac app on an almost daily basis, let me tell you: it was a disaster. Java apps didn’t behave like Mac apps.


First Impressions

Brett Henderson - November 26, 2009 03:46 AM

We recently had two new businesses move into the offices next door. Looking through the doors highlighted to me how important the first impression of an office is to the energy you bring when you walk in the door.

One of the offices is very evidently a call-center. It’s clad in shades of grey and blue with small cubicles. It seems to suck the energy out of you just looking at it.

The other (pictured) seems to draw you in. In fact, upon entering, I had not idea what they did1, but you felt that it would be an interesting place to work.

It may seem obvious, but it’s important to consider the impact your office environment has on potential employee’s as well as the current ones.

When recruiting, if a candidate walks in the door thinking, “wow, I want to work here”, or compares favorably your office/team with their current office and team part of the hiring process just got simpler.

For your own staff, having a place that they want to work in, along with an outstanding team to work with brings it’s own rewards. Higher productivity, less down-time due to illness and greater retention to name just a few. These rewards have value not easily measured but a lot higher than what it can cost to make a great environment.

1 – My wife’s first guess from the photo was travel, but it turns out they are a tattoo artist.

Personal Connections

Brett Henderson - November 24, 2009 04:28 AM

Ephox is 10 years old and to celebrate we flew everyone in from our US and UK offices to where it all began … Brisbane.

The celebrations kicked off with a party on Thursday followed by a weekend away at the Hyatt Coolum for employee’s and their partners.

While the weekend away did provide an opportunity to talk shop, it was the personal conversations that I feel pay the biggest dividend.

At Ephox we make great use of digital communication tools like Skype, e-mail and instant messenger to keep in touch. There is something however about talking to someone face-to-face, that allows you to connect on a different level. It’s the conversations over breakfast, the corporate dinner, pre-dinner drinks and while playing tourist that allow you to connect with our colleagues in a way that electronic means just can’t achieve.

In this relaxed environment, you find yourself talking about previous experiences and roles as well as sharing a joke or two. Add to that the ability to meet and talk with your colleagues partner and you begin to build a more complete picture of the person.

So what does this mean for us now we are all back home? The personal connections made enhance our business relationships and communication. The insight gained allows us to filter digital communications through their respective personalities, enriching the experience. In addition, the “back-story” of each person will allow us to better utilise their previous experiences/skills.

Happy 10th Birthday Ephox

Damien Fitzpatrick - November 06, 2009 05:34 AM

On the 12th of November Ephox will turn 10.  It will also mark eight and a half years of me being at Ephox.  Unfortunately though, while the team at Ephox celebrate our 10th Birthday I’ll be on my honeymoon.  This Saturday (tomorrow) I’ll be marking a personal milestone of my own as I get married.

So, since I can’t be at the Ephox celebration to thank people personally, I thought I’d write this post.

It’s been a tumultuous decade to be a software company.  Since our incorporation in 1999 we’ve made it through the Dot-com Bubble and now we’re achieving our greatest growth ever despite a global financial crisis.   There’s no doubt in my mind that Ephox’s ability to survive and thrive during these challenging times is because of the fantastic people who I work with all around the globe.

When I joined the team as an intern in July 2001 I wasn’t planning 8.5 years in advance, but I’m certainly glad that the last 8.5 years have been spent with Ephox.  Ephox has given me one of the most remarkable opportunities of my life – and this is despite me almost falling asleep while our now CEO (then CTO) Andrew Roberts explained HTML authoring to me on my first day on the job.  I started out here as an intern, developed software, worked in the USA as a consultant, traveled the world, and now am the Director of Products – all thanks to Ephox.

Over those years the company itself has grown and faced it’s challenges.  From our offices here in Paddington, Brisbane, Australia we branched out to the USA.  I can recall when Andrew Roberts started our first USA office – in his apartment in San Jose.  From there we’ve grown to have offices in Palo Alto, just outside Stanford University and European offices in London.

Along the way I’ve met and worked with some tremendous people not only here at Ephox but also amongst our partner organizations.  Our partners have always been incredibly important to us at Ephox and personally, it’s given me the chance to meet some fantastic, like-minded professionals at IBM, Vignette/OpenText, Stellent/Oracle, EMC and more.

So Happy 10th Birthday Ephox.  Congratulations and thank you.  I’m looking forward to what the next 10 years hold for us all, particularly if the first 10 are any indication.

Sunsets & Star Trails

Kristin Repsher - August 29, 2009 09:22 AM

Late Afternoon in Roadvale Yes, yes, I know it’s been a little while since I’ve blogged. A lot has happened in the past 8 months or so, and I’d love to catch up on all of it, but I honestly don’t know if I can. In the meantime, this post will just have to be enough proof that I am actually alive, I’ve just been very neglectful of this site!

So last weekend, I went to a “Sunsets & Star Trails” workshop out near Boonah (for those of you not familiar with Brisbane geography, that’s about an hour’s drive into the country from my house). It was the second workshop I did with Bluedog Photography, and I can’t recommend them enough. It was a great night, full of good conversations, lots of stargazing, and plenty of learning about proper photography techniques that I can hopefully apply in the future.

The afternoon started out at the Royal Hotel in Roadvale, a small town of about 600 people that I can’t say I’d heard of before reading the description of the workshop. It’s a beautiful little country town, built on rolling hills with larger mountains looming in the distance, with one main street with a country store and the aforementioned Royal Hotel. After a bit of a meet-and-greet, we headed out to the private property of Suellen, who so graciously let us invade her home all night.

Reaching for the Sky Garry, one of the tutors, gave us a quick tutorial on what we were going to need to look for before sending us off into the wild of the large yard. Essentially, we needed to find a good spot with some nice framing that faced roughly south, and we needed to have it fully set up before dark. I had a good wander throughout the entire yard. Luckily my knee has gotten significantly better than it was in April (when I had arthroscopic surgery for to clean up some cartilage that had torn off the back of my kneecap) so I could actually kneel down and try to find somewhat different angles on the same photograph. I managed to get a few late afternoon/verging on sunset photos this way. I was especially happy with the swingset photo that’s in this shot.

I finally found a corner of the yard near the old dunny that I was happy with. There were quite a few possible angles to go with, but I chose a thistle, which would later come back to bite me when I realized I wasn’t actually facing south and needed to readjust my shot. This was the first of a few things to go slightly awry during the evening, but it was all a learning experience, right? In the dark, I managed to get my tripod out of the gnarled bushes I had gotten it entangled in and moved it to frame the shot with a stark, winter-time frangipani tree. After following all of Garry’s instructions, I decided to go for my first star trails shot (star trails, for those that don’t know, are the streaks in the sky you can capture when you take long-exposure night shots. See further down in this post for an example). This involved using my remote release so I didn’t introduce camera shake to the shot. Unfortunately, the remote didn’t have the other very important feature I needed for this exercise–a lock. That meant that if I wanted to get a 45-minute long exposure shot, I would have to hold down a button for 45 minutes. “Oh well,” I thought. “I’m here, I might as well give it a shot because that’s all I’m going to get with this equipment.”

Let the Great World Spin After 10 minutes, my thumb started falling asleep and suddenly twitched, letting go of the shutter and finishing the exposure. Needless to say, I wasn’t amused! I talked to both Garry and Nick; between the three of us, we managed to devise a contraption to hold the remote button down without me being there. It sounds pretty simple–scotch tape a piece of gravel down on the remote, and then tape the remote to the tripod. However, we had a bit of trouble getting it rigged because the remote had to be aimed at the camera at all times–start taping and accidentally move its line of sight and the shutter would close. It look us about 20 minutes to get it set up the first time, but finally we were able to sneak away from the camera without hearing the shutter click.

From then on, I felt a lot more social! I was able to go over to the main group (since my camera was well away from everyone else’s) and chat with everyone else. We were all amazed at the number of stars we were seeing, especially given the cloud cover around sunset. There wasn’t a single cloud in the sky to obscure the twinkling of the stars or the slight haziness that marked out the band of the Milky Way sprawling across the sky.

By the end of the night, each of us had 2-3 shots of star trails. I know, you’re thinking, “What? She went out for 7 hours and got 2 photos?” Each photo takes 45 minutes to shoot and another 45 minutes to process for noise reduction, so it’s a very time-consuming and patience-testing endeavour! I was happy that I got any star trails at all after the hassle I had to go through with my remote, although now I have to do a bit of investigation to figure out why they came out the way they did. Even though the camera seemed to process the picture to reduce the noise, both of my shots are still nearly obscured by the huge amount of noise in them. And since I took the photos at f5.6 and ISO 200 with noise reduction, there really shouldn’t be noise like this in the shot. Everyone else had the same settings as me and their shots came out much better than this, so I’m hoping that there’s not a problem with my camera! If anyone that’s reading this is a Pentax expert, please comment and let me know :)

Anyway, all in all, it was a great night and well worth the money and the trip out there. I now feel a lot more confident with my night shooting and am really hoping to get away from the city to try it again soon.

Twitter has invaded

Andrew Herron - July 15, 2009 01:15 PM

We’ve had a few ephoxians on twitter for a while, but early last week we hit some kind of tipping point and now most of the engineers are actively chatting on it. For my part I joined to follow and converse with Brent’s Dev Diary, it’s a cool idea and I might do a bit of dev diary tweeting myself one day. All of a sudden though the team is tweeting about all sorts of things :)

I’m still exploring how I want to use this and who I want to follow, so far it’s just a few friends and some well known new media celebrities (who are, as always, responsive to fans no matter how they want to communicate) ;)

I don’t think we’re going to get too many more succumbing to the fun so if anyone is interested here’s the list:

http://twitter.com/_spyder
http://twitter.com/aussiestompy
http://twitter.com/ajsutton
http://twitter.com/rojotek
http://twitter.com/sunethmendis
http://twitter.com/southda
http://twitter.com/HamstaaVFerret
http://twitter.com/andrew_roberts

I’m sure if there are people I’ve missed they’ll be pointed out to me shortly and I’ll probably update this post.


Andrew Roberts - April 18, 2009 02:36 PM

Bulldog sighting: 'Biff' on Portobello Rd
Bulldog sighting: 'Biff' on Portobello Rd

Newspapers reduced to Twitter-sized articles

Andrew Roberts - March 06, 2009 09:07 AM

Is this a trend of the future? The Australian publishes an article online with a whole 85 characters. I think republishing their ENTIRE article might constitute a breach of fair use ... but seriously where is journalism going?

GOOGLE chief executive Eric Schmidt says the US economic situation is "pretty dire".

With the economy so "dire" will all newspaper articles be less than 140 characters soon?