Archives
November 16, 2006
Web-nerds need to stay on top of what browsers people are using since still today, there are differences with how browsers will display web pages.
I thought some of you might find this interesting – it’s always good to know what is going on out there …
Highlights:
- MSIE: don’t bother with anything before IE6.
- Firefox: something you have to pay attention to.
- Netscape: only the dead and government employees (same thing?) use this browser.
- Opera: Not Netscape, but I’m not loosing any sleep.
- Safari: pay attention.
- Everything else: check you own site’s stats just in case you have some freakish gathering of strange nerds.
read more
November 1, 2006
Hi,
I wanted to mention that I have a new PHP article out in the Oct issue (#124) of Web Designer Magazine.
Article Title:
‘Learn to build a php contact form while learning to process forms and send email with php.’
I’ve also released Quicktime versions of the PHP video tutorials – they come with the magazine’s DVD.
Thanks,
Stefan Mischook
read more
October 23, 2006
One question that comes up every so often is whether you need a degree to get a web design job?
The short answer to this is: it depends!
THE TOP 3 FACTORS IN GETTING WEB DESIGN JOB
When I’m talking about a web design job, I am not talking about becoming a contractor or opening your own web design business. I am talking about going to work for some company.
Now that we’ve cleared that up, here are the top 3 factors:
- Design ability: can you make the web page look nice.
- Work experience: I’m talking about doing real commercial work; your own pet web projects don’t count.
- A Degree: some sort of IT degree is best but any degree helps.
How important the degree is depends on how big the company is. The larger the company, the more bureaucracy you will have to deal with … that means company policy will factor into this, and that usually means degrees are important.
That said, highly skilled and experienced people can get around this … even in the biggest of companies.
What about coding skills?
Some of you may be asking, how about knowledge of web standards, CSS, HTML? Sadly, the only people who care about those skills are other web designers and to a lessor extent, web programmers.
But why is this so … how can good technical web knowledge be so unimportant? The reason is simple my young weblings:
… the people hiring web designers are looking for design ability and not coding ability. After all, the job title is ‘web DESIGNER’ and not ‘web coder’.
Beyond that, most of the people hiring don’t have a clue about code. They may know a little bit about HTML and CSS, but they would probably have kittens trying to create a hyperlink!
Code-Monkey’s Can’t Design (typically)
Some people enter the web design world only to find out that they can’t design worth a dime … but these same people are typically much better coders. Or as I like to call them: ‘code-monkeys’
You see, if you are a born ‘code-monkey’, chances are you will never be able to design a good looking page … or draw a straight line.
From my 14 years experience doing design and web design work, I’ve found that design ability is something you are born with … you either have it or you don’t, and no amount of training or schooling is going to help you if you don’t have the talent.
With that in mind, it is important that you figure out where your strengths lie and play to them.
… if you are a code-monkey (as I am,) then you need to look into the profession of ‘Web Developer’ and forget about being a ‘Web Designer’.
Web Developer vs. Web Designer
What’s the difference between a web designer and a web developer?
A web developer is someone who builds web applications – sometimes called ‘database driven websites‘.
Esssentially, a web developer is concerned about the functionality of a website and not neccesarily the look. When I’m talking about functionality, I am talking about things like, contact forms, shopping carts and anything else that takes a website from just being a series of pages, to being an engine that preforms some task.
These types of sites are built using languages like PHP, PERL, Ruby and many others.
… read the article on database driven websites for more details.
THE WEB DESIGNERS DESIGN TALENT CHART
I’ve slapped together this web design chart that illustrates how talent relates to your potential of landing a good job. I’ve also included information on when PHP should be considered.
The trick is to figure where you stand on this chart!
Thanks,
Stefan Mischook
www.killersites.com
www.killerphp.com
read more
October 17, 2006
The ‘cookbook’ series from O’reilly press target a reader who understands (at least) the basics of a subject, these are not good books for beginners. This is the 2nd edition and covers PHP 5.
PHP Cookbook presents PHP by task rather than by language construct. For example:
- Accessing Substrings
- Controlling Case
- Parsing Comma-Separated Data
- Taking String Apart
The above list is taken from chapter 1 on strings. You’ll notice that there are no function names listed, but rather string related tasks.
That style of organising and presenting the material by common task, makes ‘PHP Cookbook’ very handy for any PHP programmer.
In my experience as a web developer, there have been many times when I would have a task to preform but wasn’t exactly sure how best to handle it … a book like this allows you to flip around and find what you need.
YOU WILL LEARN THINGS TOO!
Besides showing how to preform common tasks with PHP, PHP Cookbook also does a good job discussing PHP concepts and aspects about the language – for example:
What is the difference between ereg and preg?
We learn that preg works more like Perl regular expressions, where the function also needs delimiters – you will have to get the book to learn more!
HOW THE RECIPIES/EXAMPLES ARE STRUCTURED:
Each recipe is broken down into three subsections:
- Problem – a simple statement of what we are trying to do.
- Solution – a concise code snippet (usually) doing what we need to do.
- Discussion – shedding more light on the subject at hand.
CONCLUSION
I like the ‘cookbook’ series of books. If you are a PHP programmer, I know this is a book you probably should have sitting on your desk.
Stefan Mischook
www.killersites.com
www.killerphp.com
read more
October 3, 2006
Another good book from the boys and girls at Sitepoint – a well written book that walks you through the techniques of modern web design.
Over the last few years a whole bunch of CSS / web standards based books have hit the market. Some were good and some sucked
but there was one thing that was been consistent about them: they all reflected the maturing web design community.
You need to pay attention the word maturing: there were still a few technnical things that had not exactly settled in terms of how web designers should do things.
HTML Utopia: Designing Without Tables using CSS is among the first books I’ve seen that demonstrates a maturity in web design.
WHAT IS THIS BOOK ABOUT
It’s all about modern web design practices and techniques. The following topics are covered over 450 pages:
01. Basics
02. CSS 101
03. CSS Code
04. Validation & Backward Compatibility
05. Color
06. Fonts
07. Text Effects
08. Simple CSS Layouts
09. Three-Column Layouts
10. Fixed-Width Layouts
A. CSS Miscellaneous
B. CSS Color Reference
C. CSS Property Reference
WHO IS THIS BOOK FOR?
If you are a total noob to web design, this is not the book for you. You can start with my free web design tutorial to get your feet wet, then you’ll be ready to buy this book!
You need to have a basic understanding of HTML and CSS. Once you have that, this book would quickly guide you through the sometimes thorny path to web design nerd glory.
Again, a book worth getting.
Stefan Mischook
www.killersites.com
www.killerphp.com
read more
October 2, 2006
A very interesting book for experienced programmers.
I’ve reviewed several AJAX books and each has their own slant on the subject. Build Your Own AJAX Web Applications is the first that actually got me to think of AJAX based applications as a replacement for the traditional desktop applications.
… You’d figure I would have clued into this reality before, but for some reason, it only clicked while reading chapter 2!
WHO IS THIS BOOK FOR
Clearly you need to have a web programming background to understand this book. If you’re shaky with programming and object oriented programming is a great mystery to you, then you might find aspects of this book challenging.
On the flip side, if you want a refined and advanced approach to injecting AJAX into your web work, and you are comfortable with Javascript and a server-side language like PHP, then this is a very good book.
TOPICS COVERED
- An overview of the basic technologies you’ll need to use to build Ajax applications.
- Understand the XMLHttpRequest object, the core of Ajax applications.
- Build a cross-browser XMLHttpRequest wrapper that you can use in all of your Ajax projects – using OO Javascript.
- Build an Ajax application site monitor that works in real time.
- Learn how to use Ajax without breaking older browsers or causing accessibility issues.
- Fix the “Back button” problem.
- Use JSON, YAML, and XML to communicate with the server.
- Create an Ajax search application that pulls data from Amazon, del.icio.us, and Google.
.. yes, I got this list from amazon, but why reinvent the wheel!
MY CONCLUSION
I like the fact that the book does a good job of teaching AJAX while not getting bogged down in useless code and text – the book is concise, to the point and thin.
Get the book.
Stefan Mischook
read more
October 1, 2006
RailsConf Europe 2006: a report.
by: Richard Mischook. www.killersites.com, www.killerajax.com
On September 14 and 15th I was at the RailsConf event in London. I don’t have the exact numbers but I’m guessing that there were somewhere between 500 and 1000 attendees. The age range included the expected contingent of 20-something geek types but perhaps surprisingly a large number of obviously older folks were also in attendance (the latter category sadly including me).
I say surprisingly because Rails is a relatively young technology that I think is still in its ‘early-days’ phase, albeit with a rapidly growing mind share. Despite this a number of maneger-types were on hand and presenting; this was particularly interesting to me as I am very interested in the issues surrounding using Ruby and Rails in the enterprise.
Before diving into a look at some of the details of the conference I will say that my overall impression is very good. I was reminded of the JavaOne conferences I attended in the late 1990s where the enthusiasm in the room was almost overwhelming.
Clearly the folk doing Rails are converts (often from Java) and believe that Ruby and Rails are better tools than much of what is out there.
Rails is fun
Rails developers are having fun: this is good because happy developers are productive developers; they are having fun because they are getting things done faster and spending far less time wrestling with the sorts of plumbing issues that kill creativity and make development a chore rather than a joy.
This fun flows from two things: the beauty of the Ruby language and the Rails framework. The Ruby language provides some very nice syntactic features that mean writing less code than would otherwise be the case with other languages.
Rails provides a variety of elements that make it fast and easy to deliver working code; some of the key features include the use of conventions rather than configuration (still allowing though for the overriding of those conventions), a number of great APIs for handling many web-application needs, the most prominent being perhaps an easy to use Object-Relational Mapping API (ActiveRecord).
Rails in the Enterprise
Rails is being introduced into the enterprise in the same way that Java was back in the late 1990; that is, by enthusiastic developers ‘sneaking’ it in. I heard a number of stories but one that certainly stuck goes like this:
(i) developer does quick prototype
(ii) developer shows prototype to manager who says it looks great
(iii) developer tells manager that he/she is ready to develop it in Java but it will take two or five or X time as long
(iv) manager says – but what’s wrong with this
(v) developer smiles.
Any new technology is bound to face reluctance from risk-adverse enterprise technology decision makers. This is (in my opinion) perfectly understandable; some good news though is that Sun has hired the main guys behind the JRuby project (allowing Ruby code to run in a Java Virtual Machine).
Currently JRuby will support running most Rails applications in a JVM. The roadmap for JRuby include a number of things including compilation of Ruby code to Java byte code. Speed of JRuby is currently not up to CRuby but this is the goal. For me the existence of JRuby signals Sun’s realization that the Java web frameworks are declining in popularity; for those of us in the (Java) enterprise, JRuby represents a possible risk mitigator if/when proposing Rails as a piece of a solution.
Performance and Scalability
Rails suffers from the same sort of performance and scalability issues as other frameworks but the approach to fixing these is pretty much the same as with other frameworks, e.g. tune your database queries, implement a caching framework, profile your code.
The flip side though is that delivering a result in Rails does appear to be significantly faster and involve writing less code. In addition Rails seems to strongly facilitate an iterative approach to development that is very attractive to those who accept the key tenets of the Agile school of thought.
Rails is Growing
Rails is growing fast: there are now some 300+ open source pluggins for Rails supporting a wide range of functions and APIs (for example messaging systems). The new Active Resource API supports treating a URL as a vehicle for doing CRUD using XML – web services without the overhead associated with SOAP.
Rails Development Tools
Tools support is growing: the next version of the RadRails Eclipse-based IDE will include support for refactoring; I asked the main developers about code-completion support (e.g. method completion) while acknowledging in my question the issues associated with doing this for a dynamic language. I was told that there was some work going on in this area and they hoped to be able to support it to some extent in the future.
Final Thoughts
Rails is an exciting framework for doing web application development that is I think in the early stages of a rapidly accellerating curve. The next year will I think be telling and it will be interesting to see to what extent Rails captures mind share and resources from other comparable frameworks.
read more
October 1, 2006
by: Richard Mischook – www.killersites.com, www.killerajax.com
Are these really questions from actual users?
OK you got us. Truth be told, the AJAX section of the site is relatively new, so we had to kick back and use our imaginations a bit. That said we feel we have a pretty good feel for the sorts of questions are users might be asking themselves and that’s what we have presented here.
If you would like to ask your own question please feel free to join in the forum.
So what is this Ajax thing I keep hearing about?
Ajax is actually an acronym which stands for Asynchronous Javascript and Xml. The term Ajax is used to indicate the main technologies used to build Ajax-enabled web sites. From a user’s point of view an Ajax user interface looks and feels less like a web page and more like an actual application.
The most obvious feature of this is usually that a user can do things that cause what they see in their web browser to change, without the whole page having to be reloaded (for example add an item to a shopping cart).
What kind of web site would benefit from being Ajax-enabled?
Ajax is about providing the user with an interface that is more application-like and less like a web page. So it stands to reason that web applications would be the best candidates for Ajaxification. More specifically any site that is dynamic in nature and requires a fair amount of user interaction is what we are talking about.
For instance if your site is an online diary where the user simply reads what you have written – well not much use for Ajax here. But if users can respond and post comments then this might make it a candidate for a little Ajax.
If on the other hand your site has lots of things that a user could be doing, some of which take awhile but can happen in the background, then you probably have an ideal candidate site for Ajaxification.
Does the user need any special tools to use an Ajax-enabled web site?
Not really. As long as the user has a relatively recent version of any of the top browsers they should be OK. The browser list includes Internet Explorer, Firefox, Safari and others. The heart of Ajax is a browser component called the XmlHttpObject; In Internet Explorer this component is implemented as an ActiveX component while other browsers have their own mostly-compatible implementation.
The XmlHttpObject is what you – the developer – use to send queries to the web server without forcing the user to reload the whole browser page. When the server responds to the request you use JavaScript to update part of the page, using the Document Object Model. It’s important to realize that each browser may have its own quirks when it comes to JavaScript and this is where Ajax development can be tricky.
Does the developer need any special tools to do Ajax development?
Like plain HTML development, you can use a simple text editor (like Notepad) or your favorite Integrated Development Environment (IDE). Ajax is mainly about using existing tools and technologies to achieve a specific user interaction experience; so it stands to reason that your existing tools should be fine. That said, lots of vendors and open source projects are jumping on the bandwagon and starting to provide Ajax-specific modules as add-ins.
Without getting into the whole range of tools available, one thing that is helpful for serious Ajax development is a usable JavaScript debugger.
A debugger allows you to step through code as it is being executed so you can figure out what is going on when things go wrong. For Firefox there is the Venkman debugger (http://www.mozilla.org/projects/venkman/) while there are a couple of options for Internet Explorer including the Microsoft Script Debugger and the Microsoft Script Editor (the latter ships with recent versions of Microsoft Office).
Where can I learn how to do Ajax development?
Well this web site is probably a good place to start. You might want to look at our video tutorial which covers Ajax development from the ground up. In the tutorial we look at the foundations of Ajax, and then go on to build a functional shopping cart using Ajax technologies.
You might also want to keep an eye on the Ajax Forum for discussion of Ajax-related issues.
I’m comfortable with server-side development (like PHP, Java, Ruby or ASP) but not really into JavaScript – can I do Ajax?
The good news is that a lot of server side frameworks are starting to provide Ajax toolkits that mean you can write less code and let the framework generate the JavaScript for you.
A good example of such a framework is the Ajax support in Ruby on Rails; the Rails framework provides some Ruby methods that will generate Ajax code for you, saving you the trouble of being a JavaScript expert.
The same goes for PHP and other server side languages. The best thing about this approach is that it means you can continue to work in whichever language you are most comfortable with.
The Rails Ajax tools are built on a number of existing open source JavaScript libraries; aside from providing you with some really cool special effects, these libraries also take care of a lot of the cross-browser issues that can arise in Ajax development.
Of course it still helps to understand how things work under the hood when it comes to debugging issues – and there are unfortunately always issues.
by: Richard Mischook – www.killersites.com, www.killerajax.com
read more
September 30, 2006
I’ve been recording video tutorials and podcast for a little while now (2 years) and over that time, I’ve picked up a few tricks that have really improved my podcast and made them a lot easier to create.
… Not that I’m a great podcaster, but nonetheless these tips do help.
The Killer Podcasting Tips:
1. Speak about 25% slower (when recording) than you would normally.
2. If you screw up a word while recording, be silent for about 4 seconds and repeat the sentence – edit later.
- the pause in speaking will create tell-tail wave pattern that will make it much easier to edit later.
- trying only to restate the messed-up word, will create a discontinuity in the flow/rhythm of the sentence. That’s why I say to repeat the sentence when you screw up a word.
3. Edit your recordings later: constantly stopping and starting while recording is slow and it interrupts the flow of your podcast.
4. Imagine you are teaching/speaking to a single person sitting beside you when creating the videos/podcast. Don’t think you are speaking to a room full of people.
5. Use a conversational / relaxed style in your podcast – don’t try to be anything but yourself. Whatever you do, don’t try to sound like a professor at school – remember how boring those classes used to be!
6. Get a good mic! I now use the Electrovoice RE20 and I’m not looking back … it makes a huge difference.
7. Get to the point quickly. People have less patience when on the Web, so try to keep it concise.
Thanks for reading,
Stefan Mischook
www.killersites.com
www.killerphp.com
read more
September 26, 2006
In my efforts to get the best possible sound for my podcast and my videos, I’ve tinkered with a few mics, mixers and other equipment needed for the job.
Before I get into the specifics regarding the Alesis MULTIMIX8USB mixer, I want to point out one universal truth: you get what you pay for.
ABOUT THE Alesis MULTIMIX8USB
Let me point out two very important points:
- The MULTIMIX8USB will NOT work with Windows Media Encoder.
- The MULTIMIX8USB will NOT work with Camtasia and (possibly) other prorgams used to capture sound or video.
.. There is a driver problem that has not been resolved by the people at Alesis. It is a known issue but the only resolution to the problem is to get their firewire based mixer – it is much more expensive.
I don’t know much else about the product since I could not get it to work with the programs I use. That said, I’ve read several mixed reviews about the product … some like it, some don’t and others get it to work partially.
Alesis phone tech support was fast and we got to the answer quick – though that meant returning the product.
MY RECOMENDATION
I hate it when people dis a product and don’t offer an alternative (kinda like the democrats in the US,) so I am suggesting an alternative to get your mic hooked into your computer:
The Mobilepre USB from M-Audio.
I’ve been using this preamp/audio interface for a while now and after fixing a small problem hooking it up with my XP machine (great phone support btw), I have never had a problem since.
My only complaint about the Mobilepre is that you really need to crank the gain to get the volume you need.
I am now about to test the M-Audio Fast Track Pro – the next generation of the Mobilepre – it’s supposed to be a bit better.
Stefan Mischook
www.killersites.com
read more