Here are some ideas I was thinking of for making testing Zend Framework (and Doctrine) based apps nice and easy.
JavaScript Canvas charting/timeline example
I was on holiday last week and haven’t been really able to think of anything really really interesting to write, so here’s something I made a while back: A Canvas-element powered chart/graph/timeline thing of my programming language skills, which I made as an excercise for making chart-type stuff with canvas.
I think the canvas element is starting to get quite feasible for charting, since it now works in Internet Explorer using the great ExplorerCanvas script.
Feel free to use/take apart/break/something the canvas script in the example if you like. It should work out of the box if you just provide it with some custom data in a similar format as seen in the code.
Simple Photoshop-style layers using JavaScript
Today I wrote a small JavaScript class to display images layered on top of each other, in a similar manner as layers are shown in editors like Photoshop.
I wanted to show my Dwarf Fortress to someone, but I didn’t just want to stack screenshots below each other like you’d usually do. Since dwarf forts can span multiple depth levels, it would be pretty neat to be able to show the levels on top of each other, with transparency too.
It’s relatively simple. You point it at a div which contains the images you want to make layers of, and a div where it should display the controls, and it does the rest.
If you want to use it, feel free. Just copy the script file and write some similar CSS and HTML as shown in the example page. You probably won’t need all of the CSS styles, just take note of the #controls .selected one, as “selected” is the class used for highlighting the selected layer. Note that you will need to link to the Yahoo UI libraries, as it is used in some places in the code.
You could probably use that for a JS based image editor, to name other uses than fortress showcases. :D
Dependency Injection, or how to make simple concepts sound difficult
You may have heard of Dependency Injection. It’s essentially a way to remove implementation dependencies from classes, or “the process of supplying an external dependency to a software component. It is a specific form of inversion of control where the concern being inverted is the process of obtaining the needed dependency.” as Wikipedia puts it.
Sounds complex? Yep. Is it complex? No. You might’ve even used it without knowing about the name.
Put Excel on the net with ASP.NET
Remember when I introduced the idea of cloning Google Spreadsheets with ASP.NET using Excel?
Well, it turns out to be a perfectly feasible task, and I have a working prototype too!
Is web application development less challenging than desktop application development?
I have heard several times that what I do is not “real programming” – web application development is supposedly less challenging than “proper” desktop application development. But is it really so?
Good habits I learnt from Django
Django has various good features I’ve previously mentioned. While they can’t be taken out and applied to other languages like PHP right away, it also has some nice ways of doing things that can be taken and used elsewhere.
Let’s look at some good habits I took from Django and started using in PHP, that could benefit you too.
Page2Rss and Yahoo Pipes
There are many RSS feeds that I’ve subscribed to, and some websites that I check often that don’t have feeds, for example to read comics. With all the stuff in the feeds, there’s also some things that I don’t want to see, such as newsposts in some comic feeds that I only read for the comic. It would be nice if I could have those inexistant feeds created and those useless posts filtered…
Page2Rss and Yahoo Pipes are two very useful services, almost like tailor made for the purprose of adressing the above problems!
Google Spreadsheets, ASP.NET and Excel
I’ve lately been using Google Spreadsheets to display project costs to my clients etc., and for that it’s quite nice. Quite similar to Excel, too, so it was easy to get going.
What bothers me to no end, though, is that editing spreadsheets does not work in Opera at all. Why is it? It works in Internet Explorer, which means there can’t be any totally hardcore (like Gandalf-level) JS magic or other stuff going on… I’ll just say that Google is plain and simple lazy.
Being a programmer myself, using such an impressive web app naturally got me thinking how much work it would be to build something similar to Google Spreadsheets…
User experience comparison: Online stores vs. Real stores
This one has been hanging on my drafts list for a while. Kind of lost track of thought during writing this and I never got around to writing about all the points I intended to… but there’s still some interesting thoughts here so I decided to post it anyway :)
While shopping for groceries the other day, I came up with an interesting idea: How do real stores compare to online stores, in terms of user experience? What affects it and how they compare in online and real stores.
For example, how easy it is to find the products you want, how quickly you can determine things such as price or size. Also, how easy it’s for the owner of the store to place products in a way that users might buy them even if they didn’t intend to, aka window shopping.
Since “traditional” real stores have been around a lot longer than online ones, we should be able to learn something from them, right?