Thursday, March 20, 2008
Google Visualisation API
A nifty feature of Google Sites is that you can plug in Google gadgets anywhere throughout the site, which was nice. But now that I've seen these gadgets, it's not just nice, it's FANTASTIC! Pick a graph type, give it an XML feed and away you go.
The Gantt charts will be nifty for scheduling. I can just spit out a feed from my task system. Org charts so everyone knows their place. Gauges and pie charts and heat maps.... oh my!
Excuse me while I go and calm myself down.
Wednesday, March 19, 2008
Innovation with James Gosling
The Gosling creed
- Reward risk and don't penalise failure.
- Innovation is about risk and thinking that risk and failure are good things.
- You have to learn to trust crazy people. It's the people on the edge that have the most interesting, insightful comments.
- Have confidence in yourself. People you think are oracles of wisdom - they're just making it up.
- Listen carefully, and try to figure out what the problem is to solve.
Friday, March 07, 2008
Test Driven Development
In fact - I'm now beginning to take the following perspective...
Friday, February 15, 2008
Bad computer performance
One performance issue that was bugging me big time was my laptop's sluggish performance using Outlook 2007 amongst other things. It was so slow it was unreasonable, especially for a core 2 duo with 2GB ram. I hadn't run a defrag since I first got the system so it was due for a reshuffle. The following quickened things up a bit (run in this order to get best results):
- Delete all the junk. As much email as possible (my mailbox was over 2gb), all that crap freeware that I only ever used once, temp internet files, old log files, etc, etc.
- Run a system wide defrag:
(all programs > accessories > system tools > disk defragmenter)
This will take a long time to run (e.g. 3 or 4 hours) if it hasn't been done for a while.
This operation will most likely skip a couple of files because they are in use – mainly outlook and desktop search. After the defrag has run, run it again, but instead of doing a full defrag, just do an analyze. In the analyze feedback, take a note what files are still significantly large and fragmented. - Then use the “contig” tool to defrag individual problem files that the windows disk defragmenter can’t fix. You can get the contig tool here.
http://technet.microsoft.com/en-au/sysinternals/bb897428.aspx
Be sure to install it in your windows/system32 folder. It’s a command line tool that you’ll need to follow the instructions as set out in the link above.
Outlook.ost and the desktop search index file are the main ones you want to defrag individually as they are huge files (my outlook file was 2.7Gb in 650 fragments. My search index file was 345Mb in over 3500 fragments). If you're a gamer who plays Guildwars or similar, running contig on the ".dat" or main game files should also speed things up. Only do this after a full system wide defrag, and you have stopped the processes in task manager (e.g. outlook.exe, etc) as the first 2 steps free up large amounts of continuous disk space needed for the larger defragmented files.
More info on the contig tool here: http://whall.org/blog/2008/02/02/defraggle-rock/#more-1812 - As a last resort, reformat the hard drive and reinstall the operating system. Say goodbybe to 2 days minimum to get things back the way they were.... especially when apps like Visual Studio take hours to install.
- Next time you get a new computer - get a faster hard drive. Laptops especially have slower RPM hard drives to save battery life - but once alot of files get piled on the system slow down will happen. Solid state hard drives should become more mainstream this year, get one if you can live with slightly less space.
Tuesday, February 12, 2008
Firefox gaining market share
http://www.webappexpo.com.au/content/view/136/45/
Will be interesting to see how IE 8 goes.
Thanks to Andrew V for the link.
Thursday, February 07, 2008
Data Portability
I like the idea. It gives way for a more democratic, less commercial ideal across the web from a user's point of view, and makes companies who want your patronage work harder by ultimately making better apps.
It's a long way off, but the liquid nature of the internet could welcome it with open arms if done properly.
Friday, December 07, 2007
Charting
http://google-code-updates.blogspot.com/2007/12/embed-charts-in-webpages-with-one-of.html
cool!
Saturday, November 17, 2007
Sony Reader
I am a little excited about this device for these reasons:
- My wife is a book nerd (or to put more lightly - FREAK. sorry wifey! but you know you are...) We have a storage crisis at home, there are too many books and not enough space. I actually gave a station wagon full of books to the Wallsend book exchange 2 months ago, and we still need to find more space.
- ebooks are cheaper then real books.
- ebooks bring up new business opportunities (for those of us that could not set up a book shop, or get a publisher)
- The device very closely mimics a real book, but adds extra quirks of one touch page turning and other conveniences.
- I only ever read when I go to bed. If I brought a laptop to bed to read an eBook - insomnia, which I already suffer from (along with many other unwanted side effects ;) .....) would be magnified. A Sony reader instead of a laptop would make sure I'm not checking my emails and RSS feeds at 1.00am in the morning. (although I can see the device expand in the future to have WIFI and Internet browsing capabilities which is scaring me slightly)
- It reminds me of the resurgence in music players in the form of MP3 players - like this is kind of device (if done right... apple anyone?) will be the next must have gadget. So far Sony has the lead in their e-ink display technology - as long as they handle the sensitive DRM issue correctly.
UPDATE: 24-Nov-07
By now, most people will know about the amazon kindle, in relation to the Sony reader. Still all of my points above apply to the imminent paradigm shift in regards to books - except one thing: if the amazon kindle rules over everything else - ignore point 3. I predict the business opportunity idea will still be prevalent - but not through the kindle if amazon holds on to the publisher stigma (although it is currently necessary to keep quality reading at this stage). A community approach of quality control I believe will ultimately win out - kind of like the rating of you tube videos with comments allowed.
If a decent eBook review site was setup independent of Amazon it would be a good thing - a bit like getting away from the Murdoch's controlling the fox network and hence a large amount of their viewers opinions (please note, its election time in Australia ATM and I'm feeling political). As long as you could buy eBooks from that site too and read them..... but could you on a kindle?
Sunday, November 11, 2007
Visionscape Content Management System
The site was built in about 2 days, approval and finding time for the design implemetation were the real time killers - the system does everything else in a snap. It really brings the focus back on timely approvals from management and good copywriting to get a site out the door now - there is no dev time and setting up a site takes about 2 minutes.
Version 2 will hopefully be released mid next year.
Tuesday, October 23, 2007
FBML
The flash I have got going (after you click of course) is a nice little depth of field demo from Mr Doob. I guess I'll have to put a "click here to activate" sign.
I'm tossing up a few ideas for a facebook app, but I can't decide what yet.
Monday, October 22, 2007
Open ID
This looks like it could be a goer - I'll post more info once I am able to implement it somewhere.
Saturday, October 13, 2007
opensource microsoft
One project the left me particularly interested is paint.net - a free and powerful photo editing program, that has source code included! pwhoar...
Wednesday, October 10, 2007
Tuesday, September 25, 2007
Product Management - Feature Creep
I would much rather see our team produce high quality products that focus on a few key tasks, rather than lots of features that are all half baked. If it’s the latter the product becomes -
- Frustrating to use for the customer.
- Frustrating for the support staff to train users.
- Hard for the sales staff to believe in the product, or “stand behind it” with the conviction that there is no other solution but ours.
To combat feature creep – introduction of features needs to be formailsed and signed off on in key areas in order to minimise impact. These areas include:
- The specification stage
- After a review during development, after a “Change Request” has been submitted by key stakeholders. If accepted (that is, signed off) with additional costs approved, it should be written back into the specification. The development team should be appropriately notified.
- After a product has been released, once again using appropriate Change Requests.
Change Requests are necessary to level out those “heat of the moment” ideas that seem like a fantastic idea at the time, but when revisited may seem more like a “what was I thinking?” brain fart. They give all involved parties an excellent tool for evaluating why the change is good (or bad), and what’s needed to get it happening.
Other types of feature creep such as developer “Gold Plating” also need to be managed. If a developer wants to introduce a nifty feature they thought of over the weekend, they need to first sell it to the stakeholders rather than compromise the final product – get them excited about it, and treat it as a form of up-selling. Ultimately it’s just the software development way of saying “would you like fries with that?” with an accompanying explanation (in the form of a Change Recommendation) of why it’s good for the end user – and putting a positive spin on charging a little extra for your efforts instead of trying to fit it in to existing project requirements. In developer utopia, it would be fantastic, especially if the client always agrees wholeheartedly. In reality – developers aren’t salesmen and not always able to cope well with rejection, so this easier said than done. This is where the production team needs to develop a good relationship with their sales team; another topic altogether.
Unfortunately it all sounds very formal and time consuming, but it’s a necessary evil to ensure the quality of what you’re delivering, both to your customers (it’s usable) and to management (it’ll cost you this much time and money to change, that ok?).
Keeping it all together
A challenge I see ahead: – many products developed for specific things (hence keeping it simple) means there needs to be some level of interoperability between them all, or at least some of them. Be assured, there will be many as time passes, and you’ll need a way to get data or files from one app to another with minimal effort. This is especially important when keeping everything in the big picture.
Web services makes this conveniently possible these days, and once again Google is the poster child in this so far with their Google account as far as a good model to follow, where one account gets you into their entire product offerings. Once you’re in one of their offerings (e.g. Gmail, or Adsense, or blogger, etc.) it’s entirely focused to the task at hand – but it’s easy to get from one application to another. They’ve even gone so far now to open up an API called GData (http://code.google.com/apis/gdata/) to allow information to be moved about. In my opinion Microsoft’s “passport” was poorly implemented – but, so was their entire online product offering except for hotmail, which was bought anyway. Hopefully they get it right with Microsoft Live.
Tuesday, September 18, 2007
Google Docs - Presentation
http://docs.google.com/Present?docid=dw9j5pb_1cchzkk&fs=true
Excellent interface as usual, one would almost go so far so say kick arse. Nifty online features that differentiate include the ability to easily share (e.g. the above link) and also discuss through an inline AJAX chat. Very cool.
Wednesday, September 12, 2007
Design Reviews - Don't Overdo It
Remember though, last week's thoughts were exactly that - last week. Seeing the project implemented may change the whole perspective on things, from every one's point of view.
This article illustrates the situation perfectly:
http://www.joelonsoftware.com/items/2007/09/11.html
How would this situation be addressed in future projects? The obvious answer would be give users frequent reviews as close to the anticipated finished product as possible. No screenshots - but real, usable examples. The pitfalls - continual additions and removals will blow out a project. This is not a bad thing though as long as the client is aware of the additional resources needed to carry out changes. If the quality of the project is higher in the end, it's all worth the extra communication.
You don't want to give a user false expectation, but you also don't want to under deliver. As long as it's properly managed and expectations are addressed - everybody will come out happier.
Tuesday, September 11, 2007
Sortable Lists
The way we have been doing it the last 6 years, is we would just add an extra field to the database (e.g. pageOrder), and have the user type in a number. The lower the number, the further it gets put down the list. (SELECT * fron tblPages ORDER BY pageOrder). Too bad if the same number gets entered for 2 records. Too bad if the records are only 1 number apart as well - it usually means the whole list needs re-arranging.
Another problem with the ordering approach is that it always gets forgotten off a spec. The client doesn't notice it until they need it, and when they need it - their argument is usually "I would have thought this an obvious inclusion". As well as this, for the developer it is always an afterthought and a chore to revisit the project to put in an ordering mechanism for 1 list. Then the vicious spiral starts where the client says - "well it's done for this list, but what about these other 5 lists?".
If we had a standard ordering mechanism that could be plugged into any list easily, that was user friendly, it would make me very happy. I am impressed with what I see over at scriptaculous, where their interactive sortable lists are very impressive, but I need it to plug into a ASP.NET datagrid, which doesn't seem quite possible yet.
Saturday, September 08, 2007
Data Challenge - update
Bad news is - the client REALLY wants it - and wanted us to work over the weekend to deliver it sooner. It left a bit of a bitter taste in my mouth since I was up to 2am the night before and 12am the day earlier to get to this point... I was pretty happy with my achievement until the whip cracked. I guess I need to step back and de-personalise a bit once again.
Weekend work is unfortunately not possible for me to do - at least this week. Wifey made me wipe my hands of work at 5.15pm on friday since we both got 5 days striaght off to hang out with each other in an attempt to destress a bit, and she's doing a bit of whip cracking herself to make sure I don't start coding. Actually, I shouldn't even be writing about it....
Wednesday, August 29, 2007
Data Challenge
Basically I'm working with very limited resources: they have a home style 1.5mb down/256k up internet connection, the website is hosted on a shared server, and the database is on a shared SQL server with probably too many other databases. A batch update is not allowed by the host, so I have to loop through each record and insert or update 50000 times without bringing the webserver or SQL server to it's knees. It also has to be done at least once a day. I'm aiming for an hour to complete the entire operation.... I reckon I could come close, but hey - hopefully it'll be better then the last guy's efforts of 9 hours.
ahhhh i love a physical challenge.
Saturday, August 11, 2007
Sticky Tickets
It was a fun project to work on - we had the opportunity to put a lotta love into this site, and the focus on simplicity and ease of use makes it something hopefully the masses will pick up and run with.
check it out: http://www.stickytickets.com.au/


