Six years ago, I was still a student at the University of Geneva, I decided to host myself a blog in order to be able to share my ideas and views with other people. It was also a convenient way for me to be able to remember some random ideas I would have read or learnt.  

I quickly realized that nobody was reading my blog :)! So I changed the switched the main language to English instead of French, this helped quite a bit to increase the number of visitors. I remember that I was really proud when around 30 people per day would visit my blog.

With time my focus and the focus of this blog sharpened on web design and web development (mostly Macromedia/Adobe Flash). Being actively focused drive this blog high in page rank and I had a decent amount of daily visitors (for a personal blog, that said).

Since my professional focus shifted from web design and development to software engineering and testing, the focus on this blog has been lost. Frankly, I am writing about too much random stuff to be able to capture someone attention.

In computer science there is a known paradigm, called divide and conquer, that state that to fix a complex problem a solution is to divide it in simpler problems. Starting today I will apply this paradigm to my online presence.

I am a software tester by profession and I am passionate about software testing knowledge and theories. I have opened a blog dedicated to software testing: testingpatterns.info where I will be blogging about software testing whenever I have something to write. Join me there if you are interested by software testing :).

I work at Microsoft, on Lync server and I own the testing for Response Group Service and Call Park Service. I have opened a while ago a blog on MSDN dedicated to this topic. Join me there if you are interested by Lync server response group service and call park service :).

What about metah.ch / ahmetgyger.com blog? Well I am going to use this blog only for more personal related blogging, giving my point of view on technologies and sharing some information about my life in the US.

Thanks for reading!
A.

 

Since I started my new job I have been so much involved in discovering new technologies that I quite forgot to post any significant and regular update to this website. Google’s ranking algorithm did not pardon this move: my page rank fall from 7 to 4 !!!

With a page rank of 7 I had the feeling to be over ranked but with a page rank of 4 I really have the feeling to be under ranked :)

To avoid continuing this move down, I have decided to:
1. Create a Twitter account and publish my tweets here to make the page change more often.
2. Take more time to write on this blog or decide to let it down :o
3. Refine the focus of this blog, obviously it was oriented web technologies now it is heading to software development and testing.

If you want to help me and share some of your insight, I am looking forward to read your advice below!

Ahmet

 

After nearly ten years creating web sites and web applications I have learned some lessons. Below are some points I chatted about with friends wondering about going into web development or web design and who asked me for some advice…

1) Be organized

Like any project, you need to be prepared before starting coding or designing anything. For me it is important to know and understand what is the role of a website we are about to build.
a. What are the functionalities expected?
b. Who is going to use this website, what can they do, are there some different role?
c. How will this website be marketed (think SEO)?
Essentially, knowing the functionalities is important to create your OOP modelization and your database structure. Knowing the type of visitors expected allows you to build the credibility of your website and to select the appropriate group to make some usability test. Finally, knowing how the website will be market is clearly a point that needs to be address while thinking about the web structure.

2) User Experiences: Do not reinvent the wheel

There are a few points you must not neglect during a conception, sometimes you will scratch your head to offer the best experience to the users but often a lot of people have scratched their head before… Using ‘Design Pattern’ will help you find nice solution, you do not have necessarily to respect it totally but it gives a good starting point to cogitate :)

Here are two links you may want to see about this:
Welie : http://www.welie.com/patterns/index.php
Yahoo!: http://developer.yahoo.com/ypatterns/

Do not forget about usability and accessibility.
Usability is to create the most simple user interface; there are a lot of books and website on that topic. If you do not have a specific budget for usability, simply ask your friends and family to do some tasks on your website model (paper is ok), see how long it takes, if they failed, where frustrated and so one. Solve those points. Also while designing the web site, think about the iconography: what does this icon mean to everybody?
Accessibility is to allow people with handicap to access your web site. For example think about screen reader for people with vision handicap, think about the color, the size of fonts…
Here is a list of resources about usability.

3) Framework and technology

The choice of framework and technology depend on your budget, the type of visitors you focus on and the time you have. There are a lot of frameworks for nearly all languages, selecting yours is really important and you should stick to your choice once done. I would strongly advice to use only one framework for each language you will use but it is not always possible but at least try to keep things separated.
To decide yourself, you might wonder if it has the all the feature you needs, if it will last (not a beta framework, is there community support, what is its size and if it is cross-browser…

Below are my two favorite’s frameworks:
CSS: http://code.google.com/p/blueprintcss/
Javascript: http://jquery.com/

4) Take the time to write clean code

Web browser and HTML allow a lot of errors but you shouldn’t allow yourself to use it.
Ban CSS hack from your mind and use conditional comments instead.

Find some information here : http://www.quirksmode.org/css/condcom.html
Here is a CSS validator: http://jigsaw.w3.org/css-validator/

Also stop using HTML 4.0, please jump over to XHTML and validate your pages.
Validate your pages here: http://validator.w3.org/

If you are using a server side language, try to apply OOP paradigm with it (even if you use php). For example, think that the name of your application will certainly be written more than once, so save it in a variable and call it when necessary. So if the marketing team asks you to modify the name, you just have to modify the variable once. Generally speaking, if you need to write something more than once saves it somewhere (it’s longer at the beginning but at the end you will be happy to be able to spend more time for other project).

5) Do not lose the time of your visitors

The first thing visitors do on your page is waiting the page to be downloaded…
There are a few things you can do to prevent a long loading time. Here are my way of doing things but it is not necessarily the common way of doing things…

For example some people advice to have one CSS file for a website, I prefer to split my CSS to pages. I usually have one CSS for the website structure, one for the general design and finally one for every pages that need a special layout. For Javascript files, I load only one .js at the end of my page, this one will load all the others .js needed.

For images, try multiple compressions, if you works with Photoshop in the Save for web panel you have a preview of the size of your image. Take the time to make some test to offer the better quality with the lowest file size. Do not use images when you can use CSS.

If you are using Firefox, I strongly advise you to use the YSlow plugin, It will display the load time length and gives tons of advices to reduce the size of your pages.

6) Do not lose your time

Maintaining a web site is not funny at all, there is no creativity you have to live with existing bugs without having the time to solve them and you want to redesign completely this web site :)
Whenever you build a web site, never forget that you will most certainly have to do some update or bugs solving. Prepare an error management system, prepare a safe server with a safe copy of your web site, keep all you work in a safe (and accessible) place and never write two times the same classes/functions. We got much better things to do :)

7) Help visitors finding you, help them coming back

The web is huge, visitors doesn’t come by chance. They are searching for a service or for information. Attracting visitors is a huge work and depending of the marketing strategy you may have to take different path. I’m a strong believer in the use of blog. For example during my studies I used to do some web site to earn some money, declaring myself a freelancer wouldn’t have helped me finding client, building this blog allowed me to drive much more traffic to my website (around 100x more visitors by day) and to position well myself on some keywords (web technologist Geneva).

Making people coming back is easier (sort of), offer interesting content and people will come back. Do not just create interesting content but contact the people that come to your web site. Offering RSS feeds and/or allowing them to subscribe to a newsletter is a good start. You can also jump in the game of buzz it can offer you a great visibility but this visibility is generally very short in time.

8) Security

The closer you are from the database the higher must be your security. There is multiple level of security, you should ensure that the client-side have functions testing the user input, the server-side must also have function avoiding any injections in your code.
There are some basic things to do about security, be sure to know them (depending on the languages you use).

9) Test, test and test …

As you certainly already know each browser behaves in its own manner. Cross-browser issues are easy to test and with the time you will learn what properties tend to bring bug. Keep in mind that JavaScript and CSS are the most common ‘languages’ that are misinterpreted by browser.
All functions and all interactions should be tested. Also you have to ensure to have proper alert in case of bug. Once your website is open to public you need to be able to react to any bugs easily. Know when a bug happen, where it happen, what made it happen and how often it happens.

10) Keep discovering

The world of development is for curious minded person with the will to solve problems and with a touch of creativity. Being curious is going around on the web and bookmarks pages that you find extraordinary cool. Willing to solve problems is applying the technologies behind those cool pages to your own. Being creative is special to everyone, for me it comes from the time I spend with my wife and my daughters walking around beautiful landscape.

 

I’ve just read via the AXNA that Adobe, Google and Yahoo! worked together to allow SWF searchability. My first thought was ‘finally they made it’ :)

But while reading the FAQ I’ve been a little disappointed by how this indexation seems to happen:

[...]The Flash Player technology, optimized for search spiders, runs a SWF file similarly to how the file would run in Adobe Flash Player in the browser, yet it returns all of the text and links that occur at any state of the application back to the search spider, which then appears in search results to the end user[...]

FlashFlex

[...]All of the extracted information is indexed for relevance according to Google and Yahoo!’s algorithms. The end result is SWF content adding to the searchable information of the web page that hosts the SWF content, thus giving users more information from the web to search through[...]

So I’m afraid that it means that there will be absolutely ‘semantic’ information on the indexed tag. Is this text a title, a paragraph or an image caption? Does this mean that the SEO effort we have to do on SWF are only based on text and keywords?

If you have text with an Alpha of 0 but that have a tween, will it be indexed?

I’m very happy that A_G_Y are working to offer a better indexation and searchability of SWF but as far as I understand it, they are completely missing the SEO point here.

What do you think?

Ahmet

 

Really interesting article from Technology Review about a Paper written by John Hauser, Glen L. Urban, Guilherme Liberali and Michael Braun.

It is about finding the user’s cognitive style (“a person’s preferred way of gathering, processing, and evaluating information”) by analyzing their pattern of click. In around 10 clicks the system can figure out whether a user is analytic, visually oriented or more holistic, impulsive for example.

[...]The changes would be subtle. “Suddenly, you’re finding the website is easy to navigate, more comfortable, and it gives you the information you need,” Hauser says. The user, he says, shouldn’t even realize that the website is personalized.[...]

[...]In addition to guessing at each user’s cognitive style by analyzing that person’s pattern of clicks, the system would track data over time to see which versions of the website work most effectively for which cognitive styles.
[...]

Their approach is very interesting:

[...]“morphing” the website automatically by matching web-site characteristics to customers’ cognitive styles. Our practical goal is to morph the website’s basic structure (site backbone) and other functional characteristics in real time. Website morph-ing complements self-selected branching, recommendations, factorial experiments, or customized content.[...]

According to the paper there are at least four technical challenges:

1. For first-time visitors, a website must morph based on relatively few clicks
2. The website must learn which characteristics are best for which customers (in terms of sales or profit)
3. To be practical, a system needs prior distributions on parameters
4. Implementation requires a real-time working system

The system is a bit complicate to put in place but in terms of e-commerce, it appears that this system could improve the sales up to 20%! In terms of web design, we need to be aware of these changes and think our design so they can be the more adjustable in a short future :)

Ahmet

 

I had the hand on Dreamweaver CS4 for more than one month now, I’ll share with you what really helped me in my everyday life. To shorten, for people afraid of my English: if you didn’t make the move to DW CS3 du to the lack of improvement you will be happy with DW CS4!

It has been totally redesigned in terms of User Interface (UI), it is now aligned with the whole CS3 UI (and even better has it get ride of the top title bar):

Dreamweaver CS4 - Topbar

There are a lot of new features, that I’ll let you discover in details directly on Adobe Labs my favorites are below.

Related Files: Displays all the documents associated with your current page.
This feature is really useful, imagine your are working on a php file, that include a lot of other files (php, CSS, JS). Dreamweaver will offer you a shortcut to these pages, so you are now only one click away from the files you need to edit.

Related Files in DW CS4

Code hinting for Ajax and JavaScript frameworks: Improved support for JavaScript core objects and primitive data types.
This one is also a time saver, lately I was opening Aptanta when I had to edit JavaScript files, but now I can stay within DW.

Code Hinting for JavaScript and Ajax

[...]Work with popular JavaScript frameworks including jQuery, Prototype, and Spry[...]

Subversion integration: You can update your site to get the latest versions of its pages directly from within Dreamweaver.

Definitely a must have for every web projects!

That was the features that saved me the more time, after the deception of Dreamweaver CS3 I am really happy with the new version!

If you are interested go download it and get a serial number (you need to enter your serial number from your copy of Dreamweaver CS3, GoLive 9 or GoLive CS2).

Ahmet

 

Matt Cutts, the head of Google’s Webspam team has published on his blog his session at Web 2.0 Expo:

You can access all the video from the expo on Blip.tv

It is interesting to note that Google have no problem with SEO and that the politic again (web) spammer is to make them lose time, effort and frustrated them :)

You can also view the slide from his presentation directly on his post.

Ahmet