(Disclaimer: after trying out the demo for this application, I discovered I could get a license for it by saying nice things on my blog. I was ready to fork out the money for it though)
I cannot be the only one useless at interface design. I know my buddy and fellow patio-laying-at-my-house-worker Kevin is too. While checking out Hacker News I came across this great application called Mockups, which is cool AIR app (I use Ed Finkler’s so-awesome-I-actually-use-it AIR Twitter client Spaz) for (shocking, I know) doing mockups of things.
When I saw this, I said (really) “Holy shit!!!”. And started to play with it. And quickly realized that for people like me, this is the PERFECT tool for creating mockups of the sites I want to work on. I agonize over sites when I’m building one from scratch, so much so that I feel the “paralysis from analysis” effect I have heard others talk about. Don’t believe me that it’s this cool? Check this demo out:
To me, the really cool thing is that it is also available as a plugin for some of the most well-known collaboration applications out there: Confluence, JIRA and Twiki. For me, the desktop version is just right, as I can take those mockups I create and export them as PNG’s that I can then pass onto designers for comments and tweaking. This is a sign of a developer who is “done, and gets things smart”.
It costs $79, and for the frustrated programmer who wishes he could better as a designer, this is an amazing tool to add to your toolbox. Go try it out and give him your money!
Man, my blogging pace has slowed right down. Not doing anything particularly exciting will do that to you. So, I thought I’d take a break from trying to diagnose a production-only bug (you know, the type of bug where the code runs perfectly in dev but doesn’t work properly in production) that is mocking me, and taunting me while I feel the burn from starting the 100 pushups challenge (damn you Twitter for the peer pressure!). In case you’re wondering, I am starting at rank 1 because I think I have the upper body strength of a man twice my age.
Last week I wrote more Javascript code than PHP code, which is an interesting trend so it has me thinking about front end development a little more. I still suck at interfaces (Rallyhat’s UI is giving me analysis paralysis) but recent developments make me feel a little better.
In a previous post (not gonna self link, so search for it) I talked about why can’t I have an all-Javascript back-end talking to an Erlang server. Well, other than the fact that I don’t know any Erlang I mean. This is why projects like Sproutcore have me excited. Never mind the whole “Cocoa on the web angle” that a lot of people are talking up when describing it. It’s exciting because it is promoting a “back-end neutral” philosophy and emphasizing that people who ignore Javascript are turning their backs on a lot of good functionality.
Javascript + any back end that can spit out JSON is really what a Sproutcore application is. I know the word paradigm shift is thrown out there a lot and is really overused, but I think the fact that something like Sproutcore is out there shows that web development itself is undergoing a shift. I know that there are lots of examples of advanced Javascript + some back end in use (GMail, anyone?) but the fact that Sproutcore is getting some backing from Apple should tell you how important some people feel this type of application architecture could be.
It also simply reinforces my thoughts that knowing one language is no longer enough. Just think of what you would need to understand in order to build something in Sproutcore using, say, CakePHP as the back-end:
HTML
CSS (can’t have those pages looking ugly, right?)
Javascript (although I’m wondering if jQuery and Sproutcore can co-exist)
PHP
SQL (have to be able to understand the queries being generated)
JSON (does that really count as a language or is it just encoding really?)
The funny thing is that I now use this stuff without really considering that they are separate. I just use ‘em all, and abuse my relationships with people who are smarter than me to fill in the gaps. It’s the only way, really.
I believe Sproutcore is just the first of many Javascript application frameworks that will come out, so keep an eye peeled for the copycats and the “I did this because my problem is so unique that I could not use an existing solution” crowd. The signal-to-noise ratio will be low, but worth wading through.
I know I don’t talk much about my life outside of programming, but for the past 12 years I’ve been running a team in the Internet Baseball League, and have been the commissioner for 10 of those years. I’m also on the design team for the dice-and-charts baseball game we use for the league. My contribution has been writing Perl scripts to generate the ratings we use for our throwing arms and baserunning ratings. Anyhow, I (and other league members) wonder if people use the game to run their own replays, as most of us just play in the IBL and that’s it. My friend Sean told me today via IM that one guy emailed him with a spreadsheet showing him the results of a replay in progress of the Boston Red Sox 2007 season. Here’s what this guy said:
“I am replaying the 2007 Red Sox with IBL and thought you might like to
see the stats to date (attached). I am using retrosheet.org and am
playing the “as played “starting lineups. Relief pitchers are used as
closely to “as played” usage as possible, but obviously game situations
dictate which relievers appear in a particular game.
Let me know what you think. While individual averages will invariably
vary, through 77 games the team batting average is identical to the
actual 2007 (full) season and OBP is only .04 from the actual. I truly
appreciate the time and effort that you have devoted to making this
game so accurate.”
One of the things we pride ourselves is all the work that we’ve put into TIG (The IBL Game as it’s called) to make it not only one of the most accurate dice-and-charts baseball simulation games out there, but also to give it away for free. All that hard work is worth it when you see e-mails like this.
(before I get into this I wanted to let people know that I will be going to ZendCon to give my deployment talk. I might be looking for a place to crash for a second night, so let me know if you're going and can hook me up)
For a work project I had to add in some Ajax functionality for a scoreboard feature, where users will enter scores for periods / quarters / innings and then the total score has to update automatically on the screen before the user wishes to save that scoring document. So with some help from one of my online javascript ninja associates and Google searches, I got it all figured out, and thought I would share.
Here's a snapshot of the interface in question:
The first thing I did was apply the same class name to the away "innings" and home "innings" form fields, so that $().serialize would be able to pull up all those fields. That way, it wouldn't matter how many "inning" fields there might be. The tricky thing I found out was that I need to wrap my $('.homePeriods').change() call in it's own function() call so that it would actually be loaded when the page was loaded as well. I had no idea I needed to do that, and thanks to Marc for pointing it out. If there is a better method, let me know.
This was *supposed* to be a post about my successes in getting the Rallyhat web service up and running on Google App Engine, but that's not quite done yet. Instead, I will inform our spanish-speaking CakePHP users (and the more adventurous types who enjoy travel) that the CakeFest site as been updated to announce pre-registration and other information about CakeFest #2, which will be held in Buenos Aries, Argentina at the beginning of December.
All your favourite people from the CakePHP world will be there, although I might not be able to make it despite Mariano's very convincing IM conversations. The organizer (the previously-mentioned Mariano) is a great guy, good contributor to the project, and I still like him despite the fact that he is a Windows user in an ocean of Mac fanbois. Maybe things will work out that I can go, but if you can make the trip it will be one of the most interesting conferences this year.
Recent Comments