code-monkey
iPhone and iPad Apps for Absolute Beginners
iPhone and iPad Apps for Absolute Beginners - Obviously couldn’t find this book at any of the book store that I frequent in Lebanon. Need to find a good store with computer manuals. But this books looks very interesting indeed. Put this in a long list of todo pile.
Coda Notes for Safari
Coda Notes for Safari - Gotta love those Panic boys just for their sheer innovation in creation. This little add on is nothing but a great little addition to the web professional, no need for Adobe’s acrobat for this sort of thing.
And Stretch
You probably haven’t noticed but now the ‘Kode comes with a completely responsive shiney design, and by responsive design I mean it responds to the size of your screen, well by responds to the size of your screen, I mean if it’s less than 480px (size of your iphone/ipod/blackberry?) then you’ll still be able to read very clearly (without scrolling horizontally) my AMAZING writing, and the brilliant commentary that I provide to you on an extremely sporadic nature - what can I say I’m feeling in a sarcastic mood today.
So if you’re reading it on your feed reader, I guess you could visit the site properly to have a look. The main area i’m pretty happy with is the fact that even the images resize to accommodate (like in the illustration section).
The truth of the matter is, the current version of the ‘Kode is soo simple that doing this was pretty painless, and took an a few hours to read up on how to actually do it. The best resource as you would expect is found at these two A List Apart articles:
Then of course there are the prime examples to look at how this is achieved. Jonathan Hick’s for example has gone ALL out, with stylesheets for the iphone, ipad, 600px resolution, smaller, bigger whatever, it’s crazy - who the hell’s got the time? The general plan for the site is to keep doing general maintenance on the site and adding little things like this and generally bringing the design tighter together, trying to stay abreast with what’s going on the web (rather than being ahead of the curve).
Obviously, I could give a shit if it works in Internet Explorer.
Less Framework
Less Framework - Interesting experiment to quickly sort out your site to ‘fit’ into smaller screens.
HTML5 for Web Designers
HTML5 for Web Designers - This is looking like a must read for this year. I’m planning on starting to get back into web designing for some small side projects and this would be a good book to get into.
Habari Design Review
In looking around the Habari admin panel I’ve got to thinking which areas are important to me in the way that I use the software and how to take care of those pesky little design issues which I see as glaring mistakes. These are the areas that I feel could use a little bit of design TLC, which basically will give the software that added bit of polish and maintain it’s elegance.
I’m currently in the process of learning PHP, so hopefully in a few month’s time I’ll have hopefully created the plugin to deal with these few issues. If they’re seen as a good idea, then maybe they can be included into the core, but I’m more interested in getting the software to do what I personally would like it to do, good ideas often times find their way back up the trunk. If someone wants to jump in now, I’m not going to stop you, and will gladly help where I can.
Dashboard
When you get into the Dashboard, you currently get a small paragraph above the rest of the cards. This paragraph has some information specifically relating to your site. The issue for me here is that it's completely out of context with the rest of the admin panel, as it's the only place where such text exists.Solution: This information should be collected into another card that sits with the rest of the cards and can be moved around in the same fashion to suit the person’s preferences.
Drop Down Sub-Menu Items
The current implementation of the drop down menu is that a sub-menu item slides out from the side of the main item. This implementation was considered the best option due to the fact that as you add more and more plugins, their menus will increase the main menu greatly, making it too long.Solution: I would go even more minimalist. As an everyday user, I don’t actually need to have most of these options available on my screen. I don’t need to have:
Logs
Theme
Users
Import
Groups
My Profile
Personally, the only secondary options that I would like to have are the Options and Plugins (secondary options being New, Manage, Comments and Tags). Other people might have a different approach, but again I would probably argue that every person has got options in that menu which they rarely use.
To that end, I would reinstate the original design of having a sub menu present inline of the main menu item. Within the ‘Option’ page there would be an additional section which would allow the end user to ‘hide’ some of the menu items. The only backend menu items that would be present as a default would be the Dashboard, Options and Logout. You would then reduce the length by 6 lines deep.
SourceForge Redesigned
SourceForge Redesigned - Don’t typically go there anymore as I’ve more or less found most of my software requirements in one way or another at the moment, however this was a site I used to visit all the time back when I believe in open source software (but that’s a discussion for another time).
@font-face: The Potential of Web Typography
@font-face: The Potential of Web Typography - Great showcase of what’s to come by using the @font-face rule in CSS. Open this in Firefox 3.5 only. Tried a couple of times in Safari 4, only to have the browser crash on me twice in a row. (via Daring Fireball).
Housekeeping
Thought I’d write down a list of all the areas that this site still needs work on. This is for my own personal use which I’ll be checking back on over the next few months to see what I’ve completed and how long it actually took me to complete.
Add a feature image at the top of the site (integrate design to suit).
Add gallery section. Either going to be via Picasa or a self hosted version. If self hosted then it'll need to be integrated into the design of the site.
Sort out the way comments are presented.
Write code to remove comments as a default (but allow previously posted comments to remain seen).
Add a decent contact form.
Integrate the forum design into the site properly (instead of using the general vanilla flavoured colourings).
Sort out the CSS file to allow a simple IE6, IE7 template. Also include some form of message to point peeps into getting a better browser.
Tart up the 404 page.
The great things I’ve found about the current design is that it allows me to get on with just linking to good stuff around the web. It’s not been designed to provide a showcase for my stuff, but that’s going to have to change or at least I’m going to have to think about a way in which I can tweaks things to not feel out of place. Building on the foundations I’ve set up.
Chrome Experiments - Home
Chrome Experiments - Crazy stuff that google’s V8 engine allows you to do in Chrome. Not sure how useful, but you know experimentation breeds creativity, which breeds innovation.
Switch Display Options
Switch Display Options - Added to my collection of options I might use for my eventual illustrations category on the site.
Chevereto
Chevereto - Open Source Image hosting script. This looks like a pretty cool idea, however I haven’t had much love playing around with it, as the software hasn’t really been fully translated into English (I don’t know what the interface is like for accessing the uploaded images). Definitely one to watch.
First Screenshot of Chrome on a Mac
First Screenshot of Chrome for the Mac - Easily my favourite app on Windows (after Excel). Although I’ve been using Webkit proper for a week now (much faster), the speed and the general feel of Chrome is exactly what I want in a browser (along with plugins like Firefox). It’s just a matter of time before Chrome becomes a real player.
feedly: a magazine-like start page
feedly: a magazine-like start page - Easily my favourite Firefox plugin; so much so I’m considering using Firefox as my main browser because of this plugin.
TweetBacks Beta | Dan Zarrella
TweetBacks - Great little plugin for WordPress (that will hopefully be making it’s way over to Habari) that bring Tweetbacks. Think of them as trackbacks only made of tweets.
Carrot Creative
Carrot Creative - A bit jquery heavy (I don’t think I’ve ever seen that many transitions in one place, but it’s done relatively tactfully.
Simple Takes Time.
Simple takes time - Jason Santa Maria on design times. I loved the Mark Twain quote, which I’d never heard before, “I didn’t have time to write you a short letter, so I wrote you a long one.” So true, as I’ve been struggling the last couple of months to come to a final design for the ‘Kode. As you can probably tell, it’s still not finished.
typeface.js
Typeface.js - Great little alternative to sIFR (which I’ve never really used). The implementation on this seems very welcome and definitely something I’ll look into for use on the site.
Google Chrome
So Google is going to be releasing a browser later on today, called Google Chrome. You can also have a look at the comic book that Scott Mcloud did for them, that introduces the browser. And finally you can have a quick look at the first screenshot of the browser. The proof I guess will be in the pudding. Will it load quickly, will it look good on a mac, will it be extensible, will developers actually support it, will it be worth the effort of moving over? Will it, won’t it, guess we’ll find out part of that question in a couple of hours when it’s officially released.

First Impression of Chrome
I’ll be honest, it’s been a while since I was even remotely excited about a new application. Chrome definitely fit that bill. For some reason or another I really wanted to test this little application out. I wanted to see if Google had done anything worthy of their name.
I use Google for searching, I use Google as my RSS reader, to store my story online within Google Docs, and obviously I use Gmail and have done for many years now. These things I use on a nearly daily basis (except for Docs). So playing around with a browser from them obviously was somthing I had to try out. If you look around the blogosphere and the net, everyone’s got a friggin opinion about it. Some have decided to take extreme views on the subject, while others are all playing the waiting game to see what the deal actually was with the browser once they had it in their hands. Others still are pretty optimistic about the whole affair.
I’m not new to this new browser game. When Flock was announced a few years ago I was pretty excited about that…until they dropped the ball, added more cruft and shite to the actual browser and well to be honest made it ugly rather than this extremely slick entity that it could have been. With the exception of Safari usage every once in a while, Firefox has been my default browser for years. I used it originally because it was soo ahead of the game when compared to the available products on the market at the time, probably IE6.
So does Chrome give me that same leap? No, of course it doesn’t. It couldn’t because the idea behind Firefox revolutionised the net in many ways. The truth about Chrome is that it does what it says on the tin and it does it well.
The tabs - I thought these would be the biggest annoyance, having them at the top. Truth be told, after 5 minutes, I love them there. They sit perfectly and work great, because there is nothing above them. Effectively the browser uses all the screen real estate wisely. That is something that I really have to applaud Google on. They seem to have achieved this by actually making the rest of the browser minimal as well.
OS integration - Yeah, ok it's not OS integrated properly, but seriously for once I don't care. The additional stuff associated with the browser as soo small and unobtrusive that you don't really care that it doesn't have the Vista shite (I'm on holiday in Athens, thus using whatever is available, and this case it's shitty Vista). I can imagine that when the Mac version comes out, it'll be very nicely integrated with Leopard. Hell the icons are practically from Leaopard, but decidedly different at the same time so that it keeps it's own identity, that is if they keep these icons and give me the proper grey.
Front Page Tab - Love this. I didn't realise that this was a good idea, until it came as a default. In the same way for FF3 I didn't know what a great idea the star and you've bookmarked a site is (in the navigation bar) in the same way I didn't realise that this actually saves me a lot of time, by displaying the latest sites I've visited and the latest sites I've bookmarked.
Speed - Yes it's fast. Scrap that, it's FUCKING fast. I mean, seriously that's the fastest browser I've ever opened. Hell IE7 on Vista isn't this fast. There's got to be something going on here. Is everyone else seeing the same lightning speed at opening up that I've noticed?
Task Manager - Now that's a good idea. Much in the same vein as OSX, which allows you to kill any application that is giving you grief, so too does Chrome allow you to shut off any tab from the task manager. The task manager also allows you to have a look and see what amount of memory is being consumed by which application. Case in point Facebook is a power hungry bitch.
Looking forward, what do I want? Of course not everything is rosy and I want some things to be sorted out in future revisions of the software.
I want this on OSX. So it's really a matter of time I guess. Make sure it's got the same speed as the Windows version and make sure it's got the proper OS colours as opposed to this light blue. It's ok for Windows, it's not OK for OSX.
I want this to be open to plugins and extensions. This is the power of Firefox, that no other browser has ever had the chance of coming close to. You can find nice things you like about other browsers, but ultimately Firefox has got it all and then some. So unlike Safari which is a real pain in the ass to develop stuff for, and even then it's not a proper system, Google really should learn from that and have people develop extensions because that is what will make people take the leap.
Sort out that loading bar which is at the bottom of the page. Rubbish idea. Safari does it correctly by loading in the navigation bar. Use that idea instead, it's much more intuative; in the same way the tabs at the top of the page is a great idea.
Edit 1 - Seems they are serious about bringing in more developers to help out and extend Chrome, there is also the Chromium project which has been set up for this purpose. It's going to be pretty interesting to see where this browser will be in a year's time, damn interesting.
Goodbye WordPress
After nearly 4 years running the Kode on WordPress, I’m making the jump and going to better pastures. The internet in general is not high on my priority list, however I love the Kode and want the best for it, WordPress has not been the best for it for many many moons, which is probably one of the many reasons that the site got a bit left by the wayside.
Expect a little bit of breakage, maybe even come back later for the new RSS feed (which I think will probably be http://brokenkode.com/atom/1), as I transition over to Habari. See you on the other side.
Design Slow Burn
There is definitely something to be said about a slow burning design. At least from where I’m sitting. I started redesigning the ‘Kode last week but the deal I made with myself was that I would limit myself to doing one small thing every day. One element of the design. Be it the typography, or some colour changes or implementing how the asides look. Nothing drastic, just small increments.
The honest reason for this approach is that my life doesn’t allow me the luxury to come in every single night and just hack away and try and sort the code out test it make sure it’s all pucker both locally and online before I unleash it in one big fell swoop. I’ll average 3 nights a week (usually less) when I’m actually at home at a reasonable time and I guess in part I was also suffering from a bit of design fatigue.
Trying to get to that final result seemed pretty daunting at first. Soo many pages that I want to sort out, so many elements that need to be designed for and implemented that when I’ve tried in the past year to deal with them, I just get overwhelmed and often they just live in an electronic graveyard on my computer.
So my tip for all you hobbiest blog designers that do have a bit of redesign fatigue, I would definitely recommend this approach of breaking the pie into smaller slices. Don’t get too upset if things are not there. Start on a solid foundation (I started from my favourite coding base from a previous design) and add to the design in a slow but controlled and consistent fashion. It might not get there as fast, but you’ll definitely enjoy the process more, at least I can claim that I am enjoying this tweaking a lot more than I’ve ever enjoyed sorting out my site.
Maybe it’s because you’ll have moved the design forward, maybe it’s because there’s something fresh to look at every day, maybe it’s both.
MacHeist Retail Bundle
In a word, RUBBISH. The newest MacHeist is up and running and basically it’s a really poor showing this time around. See the last time was an AMAZING collection of applications that included Pixelmator and VectorDesigner. This time around you have some of the same applications and a few random new ones as well, but NO killer application.
Don’t get me wrong I REALLY rate Awaken, use it every day, I really like Coversutra, use that every day (tried using Cha-Ching but couldn’t really get to grips with it at all); crucially all three of these applications were in the previous MacHeist that was held not 3 months ago. What is the application in that bundle that would make you excited? Seriously? It’s not there. Unless they start adding some good stuff, there is no way that this Heist will be as good as the previous one and for good reason. Who exactly are they trying to get on board on this?
On a personal note, there is really no application out there that I want, apart from maybe a better FTP application (there are a couple of good ones knocking about but I’ve not decided which one i should go for) and a better torrent client (transmission is doing exactly what I want and the development is constant so hopefully there’ll get some basic UI issues sorted out and add being able to search and add torrents from within the application itself and I won’t need a new torrent client either).
Elsewhere.brokenkode.com
Elsewhere.brokenkode.com (powered by Asaph) is a an images dumping ground for things that inspire me and has been up and running for a week or so. I’ll hopefully get around to skinning this as well, but I’ve got to say that Dominic really did a good job on this little application and can’t wait to see future iterations.
The fox is back
Late last year I made the move to a mac and while there was a bit of getting used to certain things I’ve been really very happy with everything that it’s offered me in terms of getting on with computing in general. However the thing that I’ve missed the most is Firefox with all of it’s plugins and general speed and open source goodness. I tried Camino and i’ve got to say it’s good in some respects but trying to get any of the blasted plugins to work was a mission in and of itself. It just seemed to me like it wasn’t really there in terms of both backing and development as Firefox, which is just as well. So for the last couple of months I’ve been using Safari, and while I like a lot of stuff in Safari, I think there is room for improvement.
Enter Firefox 3 Beta 4 which was released earlier this week. DAMN that’s MUCH better.
I’ve installed GRApple Yummy theme, which is basically a correct integration of the theme into Leopard and I’m away. Firefox 3 is faster than Safari at loading up, it’s slowly starting to get all the various plugins updated as well and crucially it now also looks the part as well. I’ve not really played around with the browser much yet but one of the more welcome additions is the fact that now I can look for plugins and themes from within Firefox itself rather than going to the mozilla website and searching. It’s inspired me so much so that I installed ScribeFire straight away and I’m writing this from within there which I’ve never done before, just because I can.
Pixelmator Release Schedule
So the guys over at Pixelmator have just released yet another update on their excellent little image editor. Now the thing that has impressed me more with this little editor isn’t soo much the actual editor, because the truth of the matter is I don’t think it has got what I need (which is surprisingly a small list) what’s impressed me most is their diligence in releasing new updates for the software each and every month on around the 20th or so. While some people on the forums expect them to be releasing things on a daily basis, I really like how they’ve decided to release once a month and see how much stuff they can cram into that month before releasing it to the world at large.
It just means that I’ve got something to look forward to from them and makes me happy to see that they are developing constantly to improve on the editor. What you can also notice from their updates log is the fact that as time has gone by, they’ve definitely been getting better at closing out issues as the lists have become larger and larger.
Does Pixelmator get my thumbs up as a Photoshop killer? Honestly not yet but as three minor requests that would make this editor my choice one, which I can’t imagine as being too difficult for the sole coder (I think it’s only one guy doing the coding right?) to deal with, however it might not be a major priority at the moment. Here’s the list:
Rulers and Guides - Listen if I'm going to be doing any digital work of any description I need these things. So I need to be able to add guides, move them about and snap to these guides. The ruler set to pixels as a minimum before you move onto something else is fine as an initial release if you're thinking doing everything else will take too much time. Maybe limit the functions to their most basis before expanding might be a good idea?
<li><p>Text Function - Yeah this is pretty poor. Now while I might be ok with the limited font functionality how I would really like to have a full text box that I can resize as a minimum rather than being able to just put some text in a straight line. I know it's a really minor thing, but in my eyes it's what separates a good image editor from a great one. If you can add this into the next iteration that would be AWESOME.</p></li>
<li><p>Folders for Layers - Not sure how difficult this is but again this is one of those things that makes organising my layers something manageable as opposed to a complete and utter free for all.</p></li></ol>
I’m not going into any more detail as I’m sure the other things will come in time, however if I can get the above items by March I will love you guys forever.
Google Reader
I’ve got a question which I was hoping somebody would help me with. I love Google Reader, I really do, loads of great things about this little application to like, in the same way that I like Gmail as well. My only problem with it right now is one function that is not present and I was wondering if others are having the same problem as well, and if there is any easy way to rectify this (like a greasemonkey script or something similar. Basically the way I read my feeds doesn’t allow me to read EVERYTHING in one go. Which is fine, no problem. Those items i’ve not read remain unread. The problem is that when i get back to reading things the newer feeds get placed at the top (which is fine and dandy) but all of the read items are mixed in with the unread ones. So what happens then is that I have to spend a long time scrolling down to the previous items.
Obviously sometimes (read: most times) i can’t be fucked and so i just ‘mark all as read’, which really defeats the object doesn’t it. Anyone have any ideas how to get around this, or is knows whether or not google might be looking to sort this out, or where I can send my email towards?
Safari Plugins
Firefox 2 is slow as donkeys on a Mac. It’s true. Even with my 2Gs of RAM I can still notice the strain, that and it’s constantly crashing for some reason (usually whenever I use Gmail. Alas I’m eagerly waiting for Firefox3 to be released which is looking a lot better for everyone. In the meantime here are a couple of plugins I’ve found for Safari that I think are really useful: (I’ve updated it with a slew more cool little plugins, based on the comments)
And of course we shouldn't forget Pimpmysafari
Anyone got any other ones I should look at?
New WordPress Admin
A lot of people have been asking me about what I think about the new WordPress admin that’s coming for version 2.4. No actually I am telling big fat porkie lies. No one has asked me what I think, but I’m not going to let that stop me. Lets talk the new WordPress admin shall we.
Swiped directly from the demo site that can be found at hyper123, this is what the glorious new WordPress admin in version 2.4 is starting to look like. I say starting to look like, because you can see that they’ve got a while to go in sorting out all the breakages everywhere. In fact by Matt’s own addmission, it’s only 10-20% complete, which is why they’ve decided to wait until March to release this version, because obviously they’re not there yet.
Now obviously i’ve got a slight bit of interest in what’s going on in the admin, simply because I (and others, whom I really shouldn’t speak for) gave a year’s worth of our free time (more or less) to the creation of a revamped admin panel for WordPress. The powers that be, (well Matt actually) didn’t like it, which is why it never got included into the core.
So nearly 2 YEARS after the efforts that we did on that particular project, we are now finally getting a new administration panel design. Others seem to have tried and failed as well (the likes of Brian and i believe some other Automattic employee, I’m not into the WP community since they went commercial). Is this the thing that Happy Cogs have produced? I’m not sure.
Obviously they’ve decided to go away from the colour scheme that was introduced due to the Shuttle project. What you think the blue that you see came from somewhere else? Yeah no. The other thing that has changed, so far, is the dashboard. Last thing that I can see is the comments now have a number at the top to tell you how many comments in moderation or whatever. Apart from that nothing to report really.
For my money however, this is really like putting a bandaid onto a broken leg. Seriously. It’s past the time for this. This would have been bloody relevant several years ago, not now. Now, well it’s completely outdated and anything less of a complete and utter redesign (and that includes rethinking how your menu structure actually works) if you want it to be something relevant, fresh, exciting and ultimately usable by the widest range of people….but in that case you might as well start from the beginning and building something truly new and exciting…oh wait we’re already doing that.
Taste of OSX // Part One
Oooohhhh right, now I get it.
So my mac mini arrived last week. Three seperate boxes, one for the mini, one for the wireless mighty mouse and another for the wireless keyboard. What made me laugh was the fact that Joyce, arguably the smallest person in the world was carrying them to give to me. This stuff is actually completely tiny, it’s really incredible. So much so, that I’m not actually sure what I’m going to be doing with the rest of the real estate of my desk, the bottom of my desk is also looking pretty barren, so I’m thinking there’s going to be a trip to Ikea to get a table to put my stereo, thus freeing up enough space to get myself an A1 drawing board, as I see that coming in handy a lot in the coming year.
It took a total of 12 minutes from the second I connected all the wires to the second i was surfing the net and talking to Bonsai online. The machine picked up the mouse, keyboard and wireless router in seconds and I was actually up and running in no time at all.
So what is my initial reactions to OSX now that I’ve played around on it for more than 30 minutes? There is genuinely a hell of a lot to like. Things that as a windows user I came to accept because that was the norm. That all changed last year when I got into Ubuntu and realised that there was actually a different way. The problem I faced with Ubuntu however was the lack of sophisticated software aimed directly at the operating system and the lack of hardware drivers for a lot of my peripherals. Obviously this isn’t the case here.
One of the greatest things for me however is the lack of having to shut down my computer every day. I put it to sleep and that’s pretty much it. Loading it up again takes a total of 3 seconds and I’m up and running again. The quiet nature of the machine is an incredible selling point to me, since my previous machine, although a work horse in it’s own right was fucking load as you like. So this was a breath of fresh air.
Then there’s how it all clicks together. All downloads go into the downloads folder which I can access. Hardly anything is actually on my desktop anymore (save for my blue shuffle icon, which I love btw). Installing a programme requires me to move the downloaded programme into the applications folder. I’ve got several funky ways to see my documents and applications in that is slightly less archaic than the traditional drop down menu and the list goes on.
Reading through that last paragraph you’d think that I had absolutely no negative comments about the system. Unfortunately you’d be wrong about that. However as that’s another post in and of itself I’ve had to split it up a bit.
VectorMagic
VectorMagic is a free online application that turns your bitmaps into vectors. It’s the work of two students at Stanford and I’ve got to say that it really does work a charm. I’ll keep an eye on this just to see if there’s any legs in online photo editing tools.
Habari | Design Week 03
So I finally got around to doing some work on Habari this weekend, which was awesome. First time I actually used SVN and the guys and gals on the channel gave me a right grilling. Obviously I fucked things up the first time around but alas that’s ok, it’s all part of the experience. Below is the screenshot of what the current dashboard is currently looking like. It’s currently employing Blueprint version 0.5 which honestly has made my life soo easy in that I can actually concentrate on designing rather than setting up grids etc. Still LOADS of work to be done, but steadily this little project is coming along pretty nicely.

One thing that has me kind of stumped however is why the hell the tables appear differently? For some reason the height attribute for td element doesn’t work in Firefox. Anyone got any ideas what can be done about this?
The Phiculator
The Phiculator is a great little application, that you can download as a flash file as well (don’t know but I love applications that come as flash files). It calculates ? (phi), the golden ratio. To put things into a design perspective, if you’re trying to make a website that is 850px wide, it gives you the size of the column that splits this 850px line in an aesthetically pleasing way. So your main column would be 525px in that case. Also I really love James Mellers’s site as well.
Habari 0.2 Released
The second official release of Habari, version 0.2 is out the door. Everyone has been working real hard, always with love, always with passion. One of the things that this release includes is the user manual which is included with the release. Yes, when you download the software, you’re downloading the manual as well. For the manual we’ve chosen to use the awesome Tiddlywiki for this purpose. Don’t be afraid get involved. Spread the Word!
blueprint css framework
Olav’s just released his Blueprint CSS framework. What I like about it is the overall idea and clever little things like how to implement the grid structure.