Friday, December 07, 2007

Charting

Google has released a nifty new API that I can see myself using quite alot - a URL based querystring API that spits out a nice chart on demand.

http://google-code-updates.blogspot.com/2007/12/embed-charts-in-webpages-with-one-of.html

cool!

Saturday, November 17, 2007

Sony Reader

David Williams, a colleague from the Newcastle coders group, alerted me to the existence of these nifty devices that are dedicated to reading eBooks through his blog, Alivad.

I am a little excited about this device for these reasons:

  1. 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.
  2. ebooks are cheaper then real books.
  3. ebooks bring up new business opportunities (for those of us that could not set up a book shop, or get a publisher)
  4. The device very closely mimics a real book, but adds extra quirks of one touch page turning and other conveniences.
  5. 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)
  6. 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

Finally - we have a marketing website for our content management system, Visionscape! Development on the system was always a priority over a marketing site, but our CMS is starting to mature nicely now, it's over 3 years old and still easier to use than anything else I've tried or seen (which is why I get frustrated with many of the open source solutions out there).

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

I got my first bit of facebook markup language working today in the form of a flash movie on my profile page - but according to the doco waitforclick="false" is disabled on profile pages for aesthetic reasons.... bit weird when you can put any image you want on there. I can understand why they'd restrict CSS and javascript so it doesn't become the mySpace monster, but click for flash?

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

Finally we are starting to see some kind of standard rise up across the net on the subject of authentication in the form of Open ID. Some big names are starting to sign on - AOL have annouced support and apparently Microsoft has announced interoperbility with Windows Cardspace.

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

I been left really impressed lately with microsoft's efforts at open source. Their source forge equivalent site codeplex is starting to herald some really useful and impressive projects. They're great learning aids for all the new stuff coming out in .NET 3.5 too.

One project the left me particularly interested is paint.net - a free and powerful photo editing program, that has source code included! pwhoar...

Tuesday, September 25, 2007

Product Management - Feature Creep

One thing I am becoming acutely aware of while developing products is that feature creep can kill a product on many levels. Equivalent to scope creep in a project, if it’s not managed carefully or specified properly, it can get seriously out of hand.

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:

  1. The specification stage
  2. 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.
  3. 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

Google's new powerpoint competitor is now available in google docs - here's my first one:

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

I can appreciate the need for professionalism. But no matter how perfect you think the end deliverable may be, or how often it was adjusted at request of project stakeholders, the change was ultimately "a good idea at the time".

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

Is there a best practice way to order items in a list? By this - I'm not talking alphabetically or date ordered, but user ordered, the way the client wants things to show. More specifically and ideally, I would really like to see a best practice .NET way of doing it. Of course it also has to be easy to implement, and universal across any list of items... in any app we've built.

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

The good news is - I got the data up to the website in under 1/2 an hour; 15 minutes if I dont count the process to export it out of the POS system which is out of my control. It just needs transforming now and fitting into the website, which Andrew is going to do while I take a few days off.

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

Over the next 2 weeks I'll be building a data transformation app that will export approximately 50,000 product records from a retail store's POS system to a website. Not hard - but there are some challenges....

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

We launched our latest project at work a couple of weeks ago - Sticky Tickets. The plug - It's an excellent little online event management tool for the masses. Any everyday Joe who is organising an event can list their event for free, and sell tickets securely.

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/

Friday, June 29, 2007

Ultimate PC chair

cool.... i want one. :)

Thursday, June 07, 2007

Microsoft CRM

Went to the newcastle coders group last night, where Adam Cogan of SSW talked about Microsoft CRM 4 (or titan), which is in beta but gearing up for release over the next few months.

First impressions are - it's powerful, but slow. Totally web based, it surprisingly doesn't have any AJAX, and the interface can get pretty cluttered with pop ups everywhere and a not totally intuitive interface.

It's power however comes in it's customisation. The ability to define your own entities, attributes, forms, and work flows gives it huge potential to adapt to whatever you need it to do. It's also based totally on SQL Server so reporting services can be hooked in nicely. Adam, being a Microsoft regional director himself sold the product well, but the load times and confusing visual elements held him back a bit.

I liked the customisation features, but ultimately hated the interface. I still think there could be a middle ground niche market that's not M$ CRM or salesforce.com (which is also pretty pricey... 3K per year for 10 users), but takes the good features of them and makes them better then ACT! or LeGrand. What'll make such a niche product work will be that balance of extendability, ease of use and accessibility to the masses financially. Who knows... with Google in talks with Salesforce.com they might get there before everybody else.

Sunday, June 03, 2007

Google Developer Day 07 Review

I came away from the GDDo7 feeling very impressed with their professionalism - I mean, geez, what other company would get James O'Loghlin of new inventors fame as a host for the day? very cool.

Google definitely seems to have caught on to the developer evangelism thing now, which Microsoft have done well in the last few years - momentum in this area is definitely hotting up. Kind of like the "teach a man how to fish" idea, but if you fish with a Google fishing rod and tackle, you (and google) can get these benefits:

  • Google Gears (offline web browsing - database built into the browser. Firefox3 and google toolbar)
  • API's galore: Maps, Gadgets, Adsense, Gdata (extracting and manipulating data in google spreadsheet and calendar + other up and coming google apps),
  • KML (xml framework that is a presentation language to Maps and Google Earth to feed dynamic data)
  • Web application toolkit
Some impressive technologies were on display, many of them were open source for customising if needed (eg. gears), and there were some cool examples of sites already using them. check out http://www.bikely.com and http://www.propertyguru.com.au for some good examples.

There was an inkling of worry that you're tying yourself to a development maintenance spiral if they continually upgrade their APIs (I mean, how do you sell this to the end client? giving the answer "because google said so" doesn't seem to give you great credibility). Alot of them also rely on Google's service offerings, rather then being able to build your own. Don't get me wrong, I don't have the resources to build my own Maps application from scratch, but there's more a feeling of a lack of an application framework (like .NET offers) - it's more at this stage like a "plug bits and pieces into your app" kind of mentality. To their creditability though, they have begun on this road with the web app toolkit (using Java to build AJAX apps) and hopefully we'll see more of this kind of thing to give developers ultimate flexibility. I just have to go and learn Java now :).

All in all, a good day was had by all (plus I've never seen so many Mac Book Pros in the one place before) - I think it was very beneficial to both Developers and Google to get important feedback, and if the relationship continues like this I can see many reasons why Microsoft should be worried.

Monday, May 21, 2007

Google Developer Day 07

Just found out, they upsized the venue - and I'm in! preview of the day here:

http://code.google.com/events/developerday/au-home.html

Will post a review after it happens.

Friday, May 18, 2007

Generation Y

This is a very interesting article on managing fresh talent who have just entered the workplace out of uni (or genY as the oldies call it these days). Even though I still feel fairly young in my career, being a KFC trained lemming, I can sympathise with what they're getting at. I feel I've worked pretty hard myself, and it gets to me a little when someone thinks they deserve everything without proving their worth. I've had a bit of experience now dealing with this kind of thing - at this stage I guess it's a mind set that both sides need to comprimise on.

Of course there's always exceptions to the rule. Make up your own mind - read about here:

http://blogs.smh.com.au/enterprise/archives/2007/05/are_geny_really_despicable.html

Wednesday, May 16, 2007

How good are rss feeds?

Yes, I am a late bloomer. It takes me a little while to catch on sometimes when I'm preoccupied by alot of other things. But now that I've learnt how to use the feed reader in IE7 properly - it kinda saves me heaps of time and shows me info I want when new stuff becomes available - rather then wading through masses of irrelevent stuff. Why didn't anyone tell me about this before!?!?!

Monday, May 07, 2007

management bullies

Just read an interesting blog article on microsoft's bullying management nature from an ex employee... gives a little insight into the company. It may get results, but jeez, I kinda like to have fun at work too. I guess if you've got deep pockets you can afford to be a bully.

http://blog.tomevslin.com/2007/05/microsoft_memor.html

Monday, April 30, 2007

web software: open source vs proprietary vs writing your own

The challenges I'm facing at the moment are continually changing goal posts (so preferably the solution needs to be flexible and all encompassing), not enough time to focus on one thing (solution needs to be available immediately), it has to be of the highest quality and it's gotta add to the bottom line in some way, otherwise it's a waste of time.

So I'm looking at web software options to solve a big issue I'm having at work, and being short of that magical "one program does all" utopia, what are the options available to me? Some experiences I've found so far on three options.

Open source

Pros

  • Cheep cheep!
  • Customisable

Cons

  • It's someone elses code... is it best practice? secure? easy to maintain? easy to configure?scalable? portable? compatible with my chosen host? there's plenty of uncertainty.
  • Accountability for application stuff ups?
  • Does it do exactly what you want - or does it kind of.... but not quite.
  • Lower quality interface and/or useability (in general... not always the case)

Proprietary

Pros

  • Higher quality interface (in general... not always the case)
  • Can hold vendor accountable for issues.
  • Usually plenty of documentation
  • Established user base
Cons

  • Up front cost.
  • Support costs.
  • Rigid.
  • Forced workflow. You have to do things their way, or it's the highway.
  • There'll always be something you want in the package that isn't there.
  • There'll always be something in the package you'll never use.

Writing your own

Pros

  • Ultimate flexibility
  • Can sell it later!
Cons

  • Analysis Cost.
  • Development cost. Time, effort.
  • Goalposts can change, rendering some features previously developed useless.
  • You're accountable. (but this could be alright if it lessens time taken to address an issue)

In summary - I'm a developer at heart, so i'd always prefer to write my own solutions if I had the time. There's something about selling (that is... getting someone else to sell it) your own work that gives me ultimate job satisfaction. Network admins, techie pros and managers will often have a different view. Unfortunately commercial reality pisses all over my idealism much of the time, and I have to bite the bullet and face facts. :)

Monday, March 26, 2007

search engine listings

nothing strikes a cord in a website owners mindset like the realisation that "oh my gosh!!!! my site doesn't show up on the first page of google!!!!!!! it's the end of the world as we know it!!!!!!". It absolutely amazes me that people think their site should magically appear where they expect it to. So here goes - my guide to simple stuff that everyone can do to improve listings.

  1. Get as many other sites to link to you as possible. The higher the traffic and more popular the sites are that are linking to you, the better chance you have. Scenario: If Amazon and YouTube had permanent links to your site on their front page, you would be in a very good position. (be realistic though… you’ll never get a link from Amazon unless you pay lots and lots of money for an advert). Blogs are a great way to get other sites linking to you. Start up your own! Comment on other like minded peoples blogs (but don’t spam them) – you might be able to strike up a relationship with them so you can swap links.
  2. Change the textual content of your site often, while keeping the relevance of the information. Google keeps a copy of your site on its own servers (the copy is called Google’s “cache”), and compares this cache with your actual site on a regular basis. If you have changed the content often, in the eyes of Google you are being seen as proactive in keeping information up to date. You have to ask yourself, is your site static brochure ware? Or is your site a selling tool for your business? Selling tools such as websites need constant refinement to keep information relevant and interesting for your users – otherwise, why would they come back?
  3. Major keywords need to be in “heading” format (This is HTML jargon). If you want to be found by the keyword “widget”, it needs to be in a Heading 1 format on the front page of your site. You must target your major keywords and concentrate on these throughout your site.
  4. Make sure your HTML page titles display appropriate text. Don’t just give a page the title “Home”, this doesn’t mean anything to someone choosing your site over another one in a search engine listing. Give the page title your business name, followed by what the page is about. E.G. “Widgets Incorporated – About Us”. Even better is to have one of your major keywords in the title.
  5. Paid advertising – Pay per click campaigns such as Google Adwords do really work. You need to make the decision of whether it's right for you.

Like I said, simple stuff. There's alot more that can be done.... but I dont feel like getting into that right now. It's actually hard work to keep a site at the top - and pretty dry work at that too. I might do a post later on for the more advanced stuff if I'm in the mood.

Wednesday, March 07, 2007

wiki critical mass

I get the sense that wikis are starting to gain momentum now as a business tool. Doing a bit of research - it looks like wikis have actually been around since 1995 (the original wikiwikiweb... 12 years ago!!! phwoar), but it's taken some big, well publicised examples like wikipedia to throw it in the limelight.

I think the reason for the lag in adoption was because it used to be such a radical concept to let just anybody edit information on a webpage like they were writing in a word document. I mean - geez! everybody can see it!

But now attitudes have matured. The fact that intranets are a common occurrence in the workplace, blogs are everywhere, and businesses are outgrowing their first and second generation intranets, people are looking for an easier, cheaper, more efficient way to collaborate. Especially over a geographically dispersed area - and they're easily obtainable by small business.

SMH has a great article about wikis in business - working the wiki way. check it.

Thursday, March 01, 2007

de-personalise

I had my monthly management mentoring meeting today - and I took away an excellent piece of advice: de-personalise.

One of my major problems at work is that I get too emotionally involved in a project. Because I've played a big part in building up most of the products and systems at work, if someone has an issue with something I tend to take it personally. Even if the problem stems from a third party plug in shortcoming like freetextbox. The problems that arise can be any number of things - mainly user initiated, but instead of trying to train users properly or trying to learn how the product works ([sarcasm]my gosh, that would take some effort on their behalf! what a concept that I could even suggest such a thing!!![/sarcasm]), people try to shift blame, ultimately ending back in my side of the court.

So I had a talk to my mentor today about this. I didn't realise this till my mentor said today - all you need to do is de-personalise yourself from it all, don't get so emotionally involved. In the end, it's just a job. By all means though, stay passionate about the job.

Go back to the system, make people use it, keep on doing what your doing.

Hearing this little piece of advice - I felt like a weight had been lifted off my shoulders, like I had one of those "moments of clarity", like I had been enlightened.

Such a trivial little thing... you might be reading this and think "big whoopdi doo". But for me - I think I just got the right piece of advice at the right time and I feel much better for everything now. It's nice to get a detached perspective - sometimes I cant see the forest for the trees, and simple advice when your bogged down can just make everything seem so much clearer.

Tuesday, February 20, 2007

StumbleUpon

I found this really cool tool off digg last night called StumbleUpon. It's kind of a cross between digg and the old "hot or not" website, but instead of rating humans it rates websites by use of a toolbar in the browser, with a thumbs up or thumbs down.

You get to choose your interests that you would like to stumble upon - and when you start stumbling (click the stumble button), it actually returns very high quality sites, that you would normally never find from a search engine (or something like digg for that matter). It also takes note of what you rate good or bad to return more relavant stumbles.

havva go: http://www.stumbleupon.com/

Thursday, February 15, 2007

yahoo pipes - nice explanation

I like this explanation of yahoo pipes - and the concept of "treating of the web as a database". Me being a database junkie it appeals to my sense of information organising....

http://www.readwriteweb.com/archives/yahoo_pipes_web_database.php

I guess it's a search engines job to treat the web as a database - yahoo is just making it more obvious now by letting your average everyday chum to do some of their work for them - and giving them something in return.

I still havent tried it out... so I cant comment too much. You have to sign up to yet another account which is putting me off. I had a yahoo one about 6 years ago - cant remember it now or what email it was signed on as. I'm starting to get account overload.

Tuesday, February 13, 2007

new collaboration system - preview 1

I finalised the new data structure of the latest project at work today. Should be a great system - it will let all our clients collaborate much more efficiently, and generally let the whole process flow much more smoother.

I would classify it to be a "web two point oh" class of app - or a more preferable term for our target market: a rich user experience web application - geared towards service based businesses. It'll enable us a much higher level of customer service and give clients a better experience right through the project life cycle.

We'll use it ourselves to prove the platform - but I think it'll be a very attractive system for similar businesses.

I've still got some specifications to complete - coding not far off beginning.

Saturday, February 10, 2007

media coverage

The website they're talking about in this news release:

http://ninemsn.video.msn.com/v/en-au/v.htm?g=67c5901f-a9d0-4b48-8ac6-670a89ec1864&f=39&fg=email

Made by us!

new direction

ok, this blog needs to be ramped up. at the moment it's a bit of a mish mash of ideas/interests I had 2 or 3 years ago.... some of them I still think quite applicable, but still pretty random.

Because I'm so interested and involved in web development and system development - it's really gotta be more focussed on that.

So this is my offical "change in direction" post - i want to focus more on trends, ideas, achievments, cool stuff, all web focussed. i promise i'll be more proactive in getting info up here - i want to treat it as a kind of scrap book.

cool. i'm amped. grrrrr!