Apr
30
Recently, I’ve been using CodeIgniter, a PHP web application framework to build a large scale website. Compared to the Zend Framework, it’s certainly more lean and simpler to configure and use. To install, you just download and unzip the package into your web root, change a few things (e.g. database settings) then your off and running. With index.php as your front controller, your application has a simple and loose implementation of MVC. You can use an htaccess to remove index.php from routes for much cleaner URLs. After a request is routed to a controller, developers have the flexibility to do whatever they want; forward views, instantiate models or make a mangled mess of everything.

Your code is on fire!
In addition, the framework contains a well documented collection of core libraries. These contain lots of useful functionality typically desired from modern web applications, such sanitizing input and manipulating strings. Whilst most of these classes are useful, some just encapsulate existing PHP functions with little enhancement. The absence of layouts is also a bit of shame, which would be a great addition to the framework. However, there is a good community of developers and quality documentation, which has led to plenty of custom built libraries and plugins. So, there is much opportunity to extend CodeIgniter to your own fancy.
I think CodeIgniter would be well suited to a small development team, who are like minded and carefully plan development. Given its flexibility, it might be a haphazard framework to use with larger teams that demand a consistent structure. It may also be a good first step for existing PHP applications, built without a framework, to move towards using one whilst retaining some legacy code. Whilst it may boast to be one of the leanest and high performing frameworks out there, I would probably recommend Zend over CodeIgniter for enterprise development simply because of its support and use of best practices. It’s still fun to use though.
Feb
06
Today I went back 12 years. I spent a good ten minutes trawling out the loft some old, colourful floppy disks. Yes, I had found my large collection of Electronic Young Telegraph disks! (yay)
Firstly, I had to get the installer off without a floppy disk drive. Luckily, my sister has a floppy drive (God knows why!) so that was the first hurdle done with. Now, I would test Windows 7 compatibility capabilities to the limit by running a Windows 95 installer. I felt the installer instantly cry out “Where on earth am I? Ahhhh-” as it searched for ‘previous issues of EYT’. It then subsequently failed.

EYT main menu screen
I was not deterred. I tried it on my sister’s XP machine and it worked! EYT is back baby – educating kids old school style. I managed to install the Christmas edition. My main motivation for finding these disks is for inspiration. I want to make a small game over the weekend using Flex that’s simple and educational. I certainly enjoyed these games when I was a kid so why the hell not recreate them. I’ll let you know how it goes!
Feb
05
I had a pass to BETT this year but wasn’t able to get down to Olympia for it. I caught a lot of it on teachers.tv and BBC though. I’m really interested in e-learning platforms, personalised learning and virtual environments. Generally, anything to do with web I’m interested in! From looking at BETT, we’ve got a lot of vendors producing some really exciting products. Mimio are producing devices that transform ordinary whiteboards into interactive teaching tools. I like this for many reasons, but mainly could its something that might get adopted nationwide.
Personally, I don’t think we’re going to meet the technology demands of younger children set out by the government in Harnessing Technology. From reading Becta’s December ‘progress report’, it seems the government is more concerned about meeting targets than actually getting technology adopted and used by younger children and their parents. The primary school teachers I’ve talked to seem to agree that the technology pushed onto them isn’t that useful, and the evaluation methods are something along the lines of ‘going on the Becta website and filling out pointless questionnaires’.
Designing for young children is challenging. It seems that vendors are not investing the money in doing proper UCD. If I’m wrong, please let me know about a good product that is well adopted in primary schools across the UK with documentation of its evaluation. I still think there is a place for a killer e-learning product, specifically for primary school children (key stage 1 and 2). If I had the time and money, I would love to venture in making this killer product a reality.
Feb
04
I’m currently running Windows 7 beta and it really is a step up in OS UI. The taskbar is certainty my favourite feature. Its strangely familiar, but really different. I’m finding apps that doesn’t use the taskbar API a bit harder to switch too, but now find it less stressful having lots of things open. Before, I was closing windows more than I realised. 3D flipping is now somewhat useful!

Windows 7 super duper bar
Also, using gestures to maximise and snap windows left or right is great. A nice way to sort out those floating windows. There are so many more ‘hidden gems’ that give plenty of reasons to excited about. If you haven’t got a hold of the beta key yet, grab it here.
Feb
03
I’ve been addicted to things like Twitter for the last few months. There are loads of ‘spin-off’ apps like Raptr and infrastructural apps like TwitPic and TweetEffect popping up all over the place. Twitter Search is a great research tool and way to follow live events. I got news (taken with a pinch of salt) on events like the Mumbai attacks faster than any traditional network gave me. Also, opinions on obscure or local things were much easy to come by.
I enjoy writing tweets. It’s a much quicker way of getting stuff out that trickles through my head or RSS feed. The way tweets are generated is becoming more and more context based however. So, tweets are made when you start playing a game or when you finish working out. The more information we’re willing to part with, like personal data and behaviour, the more interesting (or invasive) apps we’ll have to play with.
If you like, you can follow me on Twitter! My username is sealan.
Dec
18
I haven’t fallen off the face of the earth. I’ve been working hard rebuilding my site! What y’all think?
Oct
20
One interesting stall at the FOWA Expo was Microsoft’s. Dave was demoing Surface, a multi-touch device “that allows a user, or multiple users, to manipulate digital content by the use of natural motions, hand gestures, or physical objects.” It was pretty awesome. The example applications they had developed were inspiring; you could instantly see 101 different ways it could be used to create some novel user experience (especially in multi-user environments).
While it’s pretty expensive (around £15,000) it should, like all new technology, come down in price. In terms of software development, they’ve made it really easy to develop on. It’s totally grounded by .NET, so you can use your knowledge of WPF and XNA to create some sweet applications.

Microsoft Surface and Dave
What does this have to do with Web exactly? Well, there is a near general consensus that the future Internet will be an “internet of things”. Dave showed an example where you could place a credit card on the device, and the interface would give you a key pad to enter your pin. On entering your pin, a shopping cart would appear, where you could drag products you wished to purchase. The more and more we integrate chips into things (for example, a credit card), the more interesting applications we can create! And Microsoft’s Surface is certainly a device which can connect things with the Web.
Oct
19
I really enjoyed Stefan Fountain’s charismatic talk at FOWA. He’s from Soocial, which (as he describes in the video above) is a service for synchronising your contacts between devices without any hassle. I’ve signed up for the beta that anyone attending FOWA was invited to. Currently setup connections with my GMail account and K800 phone. Only a few devices and web applications are supported at the moment but they’re working towards supporting more! They announced that they’ll be supporting Blueberry devices now, which is good.
Check out their site at www.soocial.com
Oct
16
I made a rare trip across the city last week to be at FOWA held in the ExCeL. I had an awesome time. Met lots of great people and absorbed a ton of information. I stuck mainly to the developer track where speakers such as Kevin Rose of Digg and Mark Zuckerberg of Facebook (the special guest!) spoke about, well, the future of web apps!
I’m writing some blog posts for my company’s blog about FOWA at the moment, which I’ll also post here. I suppose the main focus of FOWA was on the use of open technologies (in order to mashup applications together) and scalability issues with successful web applications, such as Twitter. I especially enjoyed the YUI talks given by Christian Heilmann. So impressed, I bought his JavaScript book in order to brush up and rid my bad scripting habits!
It was a good learning experience (my first commerical conference) and the free bar at Fox afterwards was a whole lot of fun!
Sep
03
A few days ago, Google released the latest Web Browser to hit our desktop. I think it’s great that we have a company such as Google who can throw time and money into projects such as this. The premise for Google Chrome is sound; the designers of today’s widely used Web browsers did not envision that the Web would be used how it is today. We’re not simply browsing the Web anymore, we’re interacting with a number of Web applications that users demand the levels of performance, reliability and security expected from our traditional desktop applications. The brains at Google have aimed to build a Web browser from scratch to satisfy the stringent non-functional requirements we demand of today’s Web applications.
Its software architecture is impressive; built using concepts found in modern operating systems. For instance, each tab is its own multi-threaded process that is managed by the browser – it even has its own task manager! Segmenting memory in this way allows each tab to be treated individually whilst providing protection from one another. So, if one tab crashes, it can crash gracefully and will not necessarily affect other applications currently running. Naturally, you would think that the overheads associated with switching between processes would degrade performance, in particular, the speed of the creation and switching between tabs. However, from what I’ve experienced, the browser is pretty swift overall, and arguably faster than its counterparts.
In terms of user interface, they’ve taken the good parts of all the other Web browsers and stuck them in one. So you’ll find Opera’s ‘quick dial’ and Firefox’s approach to bookmarks. However, it doesn’t zoom visually like Firefox or Internet Explorer 7 but instead much like Safari, which is bad in terms of accessibility (try zooming in and out on the BBC website for example). It has a very clean interface, which I rather like. I’m sure after its beta (which for Google, will probably be about 10 years!) together with all the feedback they’ll no doubtingly get, I imagine that Google Chrome will be a extremely well-polished piece of software.
It’s exciting times for Web applications. The integration of Google Gears into Chrome, which enables Web applications to run offline and act pretty much like their desktop counterparts, is beginning to remove the disadvantages to using Web versus desktop applications. With the ability to develop Web applications rapidly at lower costs, there is certainly a promising future for powerful and innovative software.
Download Google Chrome