My talented brother, Tim Watrous, has worked in the advertising industry for nearly 15 years now. His background started on the technical side, but he quickly found his strengths in the larger scope of marrying the business to a best possible advertising solution. He and I often talk shop and tonight we got on the topic cloud computing. I mentioned some of my experience with the two most prominent platforms available, Google App Engine (GAE) and Amazon Web Services (AWS). The following details come from an email that I drafted for him to......
Continue Reading
For a recent project I found that a RESTful interface would be appropriate. My first inclination was to use Jersey (or one of the JAX-RS implementations available). The environment where this new REST API would deploy is still using Java 1.5. This became a major roadblock when I was found that none of the JAX-RS implementations provide support for the Java 1.5 virtual machine. This is not surprising since it’s few YEARS past EOSL (end of support life) for Java 1.5, but disappointing still the same. After spending a day or so with......
Continue Reading
Code quality and structure becomes extremely significant as the number of developers on a project increases. It can also be helpful when the code is maintained or refactored infrequently. In both cases, it can reduce the time required to get your head back in the code. Today I found a plugin for Netbeans that uses phpMD and PHP CodeSniffer to examine the code for a project and make recommendations to improve it. The feedback is visible in the tasks panel and will take you right to the place it suggests you change. Here’s......
Continue Reading
One disappointment of developing for Wicket and Google App Engine (GAE) is that the automatic monitoring and reloading of modified HTML files didn’t work. It had something to do with the single threaded nature of the GAE platform. I had found a few previous efforts to make this work, but none of them worked with the current version of Wicket and GAE. I went without it for a while, but restarting the web server after every markup change finally drove me to figure it out. Working with the project that I setup using......
Continue Reading
A few days ago I put together some sketches for the user interface design for the software licensing platform. I also showed how I create a video for freelancers that explains the important points of the design and gives them instructions to bid and then create the design. The real cost of web design You get what you pay for! That’s as true today as it has ever been. I know that when I outsource to low cost foreign providers, the quality of what I get back will be lower than choosing a......
Continue Reading
Over the weekend I put together a project as a precursor to an interview. I really like interviews where I have a chance to solve a problem that’s more meaningful than generating a random number efficiently. The pre-interview question came in the form of a sketch of the application. This worked out great since I suggest always starting with a sketch drawn by hand. Here’s what they wanted: Choice of technology The instructions indicated that I could use any technology that I was familiar with, as long as I included the libraries necessary......
Continue Reading
My initial perception of wicket panels was that they were like includes. This naturally lends itself to header, footer and style content that will be the same throughout a web application and avoids duplicating code. It seems wicket panels are more widely used than I first expected. For example, I keep seeing examples of a very lightweight page where panels represent the majority of the content too. This is a more segmented approach than I have seen in the past, and I can see some benefits and drawbacks to it. Based on other......
Continue Reading
For simplicity and security I’ve decided to integrate with the Google Account authentication mechanism that’s built into Google App Engine. This allows anyone with a Google account to login to my application without the need to setup another account. This also gives me access to the user’s valid email in order to send messages and other communication related to the service I provide. So far I have three separate ‘areas’ for interfacing with my service. The first area is comprised of public pages, such as the home page or privacy policy. The next......
Continue Reading
User interface design is every bit as important as the core software that runs on the server. A poorly designed user interface can significantly impact the end result of a web development project. Here are a few ways poor design can hurt a web project. Reduced adoption rate due to confusion about accessing features Underutilization of available features Increased frustration for the user and support burden for development team Poor conversion (sales) rate! User interface is much more than AJAX and color choices It’s important to clarify that when I talk about user......
Continue Reading
I have a large budget for books (but thanks to Amazon it doesn’t have to be as big as it could be). Sure it’s true that most of the information in programming books is online and available for free. There may even be substance to the argument that most books are out of date as soon as they hit the shelf because technology moves so fast. Oh well. I get huge value from books. They save me many hours of time that I might spend scouting around for a snippet here or an......
Continue Reading