Wednesday, December 31, 2008

The evolution of web design...

Very interesting article by the folks @ 37Signals concerning the iteration of design. Specifically the iterations a sign up form goes through. What makes this article stand out for me is how the author focuses on ONE page which on its own goes through half a dozen iterations. It's far more common place (and not as interesting) for design articles to focus on an entire site and therefore only give you the broad strokes.

http://www.37signals.com/svn/posts/1496-design-decisions-the-new-highrise-signup-chart

Saturday, July 19, 2008

JSON

I have been looking out for something like this. A JSON parser built into your web framework. A lot of AJAX examples pass back simple name-value pairs. This can grow cumbersome as the amount of data grows however. JSON, Short for JavaScript Object Notation, JSON is a lightweight data-interchange format that is easy for humans to read and write, and for machines to parse and generate. JSON is based on the object notation of the JavaScript language. However, it does not require JavaScript to read or write because it is a text format that is language independent.

I came across the Grails/JSON integration this while reading fellow Java and Grails developer James Lorenzen blog entry:

http://jlorenzen.blogspot.com/2008/07/grails-json-parser.html

Thursday, July 17, 2008

Your Personal Brand

I have been following the micro-blogging trend over at twitter.com (follow me here: twitter.com/jameshatton). I'm sure I'm not the first to comment on this but it hit me today that one of the trends with the modern web, or Web 2.0 is to use your own name. In the earlier days of the web it was standard to use a pseudonym or alias... starting with hacker names I suppose such as DEATH-OVERDRIVE or NEO. This kind of caught on with other crowds with people naming themselves CatPerson or ILoveIcecream89. With the rise of social networking however people seem or the more willing to use their real names and real photos - if for no other reason then to ensure their friends can find them.

This reminds me of a talk by Gary Vaynerchuk I was lucky enough to attend at the Future Of Web Apps in Miami last year concerning your "personal brand". I could never express it as well as Gary himself... if you've never heard him speak here's your chance: http://garyvaynerchuk.com/2008/07/01/the-personal-brand-gold-rush-is-going-on-where-are-you/

Sunday, June 15, 2008

Web Services and Dynamic Languages

I have been brushing up on my web services skill set. The Java platform has a really nice implementation now with JAX-WS particularly JAX-B when combined with Intelli-J. The Jet Brains folks provide good tutorials for both Apache Axis and default Sun web service implementations. I have experimented with both.

However an area which is currently lacking concerns the combination of web services with dynamic languages such as Groovy particularly a Grails friendly integration. It is not always ideal to handle every web request RESTfully and if you have to use SOAP then JAX-WS makes life *a lot* easier.

The main question I have now is if you have a java web application to serve as your web service and a GRAILs application to serve as your web user interface is there anyway to share the Grails controller with the web service to prevent duplication of a persistence layer? My reading continues...

Saturday, May 10, 2008

My new gig

I have a new gig and have been sent to San Francisco for training. It's been a busy week so went to see some sights this weekend starting with Golden gate park. Caught a bus on the way back where the driver had an unintentionally hilarious sign:


"Information will be gladly given. However your safety requires avoiding unnecessary conversation."


Love it.

Thursday, April 10, 2008

Grails IDE


I am currently moving development machines. No only a new machine but a new O.S. This has been a process I have been dreading as when ever you move and download the new installers there is almost always some weird error message or behavior that wasn't previously present. Sometimes useful features are removed. Precious time can be lost to the black hole named on setup & configure.

I am moving from a windows laptop running grails 0.6 Intelli-J 7.0 to macbook with grails 1.0 and Intelli-J 7.03. Some impressions:

  • Since 7.0 Intelli-J seems to have made the static controller the auto generated default rather then the magic box dynamic one. This is good for me.
  • I moved each of my projects folders across using www.dropsend.com (equivalent of FTP but via web with very clean U.I and 1/2 GB free space. Highly recommend.)
  • I placed these into the same Intelli-J project folder. The folder layout seems very similar to the windows install.
  • I opened the project inside Intelli-J. It recognized that I had created the project in grails 0.6 and offered to upgrade to grails 1.0 (using the grails scripts behind the scenes). Upgrade seems to have been bug free. Very cool.
  • When I attemted to run the project Intelli-J complained that my module did not have a valid JDK assigned. Uh oh. A little poking around I found the module settings (ctrl click project name > module settings). Inside here it was complaining that it could not find jdk 6 (which is still only developer preview on mac at the time of writing). I set this to use JDK 5 and was able to successfully run the project .
  • I have tested both the bundled in-memory database and got a native my sql install up and running. Both running perfectly.
Kudos to Sean Wall for a little (read LOTS OF) help with JDK and My SQL settings on the mac.

Sunday, April 6, 2008

Conference Overview

As you can tell I didn't get to blog about the conference as much as I planned due to the unreliable wireless (1000 geeks with laptops).

Some highlights which have stuck with me a week after the event:

  • The SOA vs REST comparison. This was a very entertaining, informative and at times hilariously frank look at the technologies and the politics behind them
  • The eBay case study. With 2 petabytes of data (1024 terrabytes in a petabyte - if you have to ask you can't afford to store it).
  • GRAILS, Groovy and pretty much any talk by Scott Davis. He even gave me a free copy of his book on GIS.

Wednesday, March 26, 2008

Day One

O.K I am half way through day one of the conference. The key note was good: a nice mixture of practical examples and theory. But I have to agree with this fellow Server Side participant Sean Wall who is little tired on hearing so much criticism of XML. It works where it works.

My favorite session so far is Advanced Unit Testing. Also the Jax-RS (still in development) looks promising as a alternative, not a replacement, of the established web service stack.

Keynote

Just realized a familar face from the No Fluff Just Stuff conference tour Neal Ford is giving this morning's keynote: "LANGUAGE-ORIENTED PROGRAMMING: Shifting Paradigms". Nice.

Good to go

Arrived safely yesterday and registered with the conference. Received a free book called Building Spring 2 by the folks at Interface 21. Judging by the size of the rooms they are expecting a lot of people although disappointingly I didn't see many power outlets. Hopefully they just havn't set them up yet...

Saturday, March 22, 2008

Vegas

Next week I am attending the Server Sides Java Symposium in Las Vegas. The agenda is up online.

One the sessions which really caught my eye is self scaling java based architectures in the cloud by Jinesh Varia

Heres a taste:

"One new way to architect your applications is to build it "in-the-cloud" - Keeping your components loosely coupled and independent to each other, and therefore able to scale well. For building architectures in-the-cloud, many developers use multiple Amazon Web Services, for example an array of Amazon Elastic Compute Cloud (Amazon EC2) instances tied together with a bunch of Simple Queue Service (Amazon SQS) message queues, reading and writing data to Amazon Simple Storage Service (Amazon S3)."

Friday, March 14, 2008

What is elegance (when it comes to software)?

To start this blog off in style I am going to quote from a book on Agile software development I am currently reading and very impressed with called "Practices of an Agile Developer" by Venkat Subramaniam and Andy Hunt. I was already familiar with Venkat's practices having heard him speak on the No Fluff Just Stuff tour.

Quote #1:

"Software is a complex business. Any fool can write simple elegant software. You'll get fame and recognition (not to mention job security) by writing the most sophisticated, complex programs possible."


Quote #2:

"Develop the simplest solution that works. Incorporate patterns, principles and technology only if you have a compelling reason to use them."


If you identify with Quote number 2 while nodding knowingly as you read Quote number 1 then this blog is for you. Hence its title.