This year (2009) phpGG started with a frontend special covering 4 front end technologies related to PHP development. The main subjects covered by these 4 men:

Photo’s provided by Localjoost

  1. User experience on the web (Dutch spoken)
  2. Flex and AIR for PHP programmers (English spoken with a Romanian accent)
  3. Javascript: 8 Reasons every PHP developer should love it (Dutch spoken)
  4. The frontend is your best friend (Dutch spoken)

The slides showed during this event are included in this post (soon).

This is my report of that day!

1. User experience on the web by Bram Veenhof

bram-veenhof His talk started with a demo of Windows 7. Which was kind of cool. His talk encouraged me to at least consider using Windows 7 in the future instead of ignoring it and keep XP as long as I can or to switch to other OS’es like Ubuntu or Mac OS X. Windows 7 looks slightly better than Vista. Microsoft has listened to their users! Way to go..

After approximately 15 minutes the talk started about being able to create web apps. How can we as web developers create the Windows 7 experience extend into our web application? By creating a gadget which is very simple.

About Microsoft Silverlight

Want to give more eye candy and user experience than HTML and AJAX combined? (<= Bold statement!) Microsoft’s solution is Microsoft Silverlight. Silverlight is cross platform which means that it supports multiple OS’s and every browser that is webkit-based (Chromse, FF, IE, Opera etc).

Silverlight is also a RIA-platform. You can use several languages to write the backend of a applications, like .NET languages, javascript, ironruby and ironpython. Parts of the .NET framework are in it. You can use subsets of the .NET classes so the platform is quite fast. With the XAML inheritance in Microsoft Silverlight you can easily separate the back and frontend. The developer and the designer can work perfectly without interfering each others work.

New feature: DeepZoom

One of the new interesting new features of Silverlight is DeepZoom. Which is basically zooming in into a photo of several GB’s (Yes, GIGA BYTES) to see the smallest details when you zoom in into a photo. With this you can add and hide more information in a photo and show details of details and repeat this process endlessly (not recommended for user experience). Check out this awesome example of Yosemite Park. Zoom in till you see photo’s appear. Pick out 1 photo by placing it in center of your screen and zoom in (scroll). You might have to wait till it all loads.

What I think

I personally am a fan of seeing code so I am slightly disappointed that I only saw what an end-user would see. I also did not see any PHP code or technology in combination with Silverlight (did I just say something stupid?). At the end of the presentation I was and still am quite impressed by the possibilities of Microsoft Silverlight but still it has not yet convinced me to use it.

Thank you Bram for your talk! I liked your “I’m a PC”-shirt!

2. Flex and AIR for PHP programmers by Mihai Corlan

mihai-corlanYou can use Flex in order to simplify user experience. Mihai demonstrated this with a hypothetical situation where you fill in a report after a car accident. In most situations you have to type everything to process the report. What happened, where did the car hit, damage details etc etc. With RIA you can precess an incident report with almost no typing! In this example just drag and drop the 2 cars to point the direction of movement and where 1 car hit the other one. This saves you an amount of time to type out down. Why do this? Not everyone is blessed with a high typing speed!

With AIR you can create applications once and deploy them on other OS’s. You can use any mix of HTML, CSS, Javascript, Action Script and Flex to create such AIR application in Flash (Without the Flex framework) or using Flex. You can have a local database using SQLite. Where you can encrypt data for example financial transactions.

Some day (2009 hopefully) to deploy AIR applications on other devices other than computer.

Why AIR?

  1. Internet applications on the desktop. Use it when your user or client has or has not internet connection.
  2. The browser can kill the user experience. Instead you can move the application to the desktop and you will have COMPLETE control over the user interface.
  3. The functionality like accessing the local file system or being able to drag and drop files between the AIR applications and other applications
  4. There is data access. You can store data locally on the computer which is very fast. Information then is available whenever the user needs it. As soon as there is internet connection, it can be updated or refreshed.
  5. No need to learn languages like C, C# or Java to create a desktop application (unless you create a new version of for example AutoCad). An example is Twirl.
  6. It is free and open source.

How to communicate between Flex and PHP

Communications between the two layers Flex applications in browser or desktop application and PHP server can be achieved with for example REST Style services, SOAP and RPC. In the Flex application or desktop application you can call the public functions in PHP. Communication between PHP classes and the client is done with the binary AMF-protocol.

After this Mihai demonstrated with Zend Studio 6.1 with Flex builder build on top of it, how to use AMF to communicate with MySQL and show the content of the tables. Yeh, he showed code.. I was soo happy. Since he demo’ed from this point on, it is best to search on the internet yourself how to set-up / install AMFPHP or how to return database records to Flash to be able to communicate between Flex/Flash and PHP.

What I think

During minor The Next Web at my school I was introduced to Flex by Wietse and Ruben. But I never really took the time to work with it, I was too focussed on programming with PHP. Mihai’s talk inspired me now and convinced me to check Flex. He made it all seem very simple to do and now I want to create AIR applications as well (after I am confident enough with PHP). I am inspired! Now you be the one to be inspired (if you aren’t already): A list with RIA applications created using Flex and PHP.

The slides of this talk.

Thank you Mihai for your talk! I like the tranquillity in you during your crystal clear presentation.

3. Javascript: 8 Reasons every PHP developer should love it by Boy Baukema

boy-baukemaBoy used a lot of examples on screen so it is hard for me to write a lot about this talk.

  1. This language is misunderstood, just like PHP sometimes is misunderstood. This is no reason to abandon Javascript but to love it.
    It is not only meant for little things. It is a scripting language but not a simple one. Perhaps the history of Javascript makes the it hard to understand. The technology are improved and the language itself is much more stable than it used to be in the beginning.
  2. JavaScript IS THE WEB because it is in your browser. It is open as you can read the source code easily.
  3. JavaScript is everywhere and available on many platforms. Every modern browser accepts JavaScript but not every user accept JavaScript. NoScript from FF for example disables Javascript while browsing. Should you as a developer take this in account when developing? No, unless you like to stay in the dark ages
  4. (2 in one reasons) It has powerful features like Lambda functions and Closures => I was like ..what?!?! I don’t understand the concept but have seen the word before. Therefore I’ll not write about this part. I should soon learn and understand these 2 as PHP has it as well!
  5. It is different, it is not PHP. It has dynamic features what makes it fun to work with JavaScript. You can use JSON for example to create object.
  6. It is small and easily extendible with fantastic frameworks like JQuery, Dojo, Prototype etc. Using these frameworks saves time as you don’t have to worry about incompatibilities in different brwosers. There is even a phpjs file with like 265 new PHP functions written in Javascript that might now be in the current PHP version! Wow, that is weird.. PHP functions provided with JavaScript but I can see the benefits of it since it is all client-side.
  7. JavaScript is the future. DOM-storage is extended starting from IE 8 which is 5 to 10 MB storage on the client.
  8. See point 4.

What I think

This was quite a techy talk for me. He spoke of  things that I know by name but was too afraid to explore. For some reason I can not get my mind to master JavaScript. I think I am more interested in Flex for now.

The slides of this talk.

Thank you Boy for your very informative talk! It would be great to see more of your passion for JavaScript the next time!

4. The frontend is your best friend by Robert Jan Verkade

robert-jan-verkadeWe developers like to put JavaScript in separate files when in a live production environment.  Because it saves time for the backend developer when it comes to editing JavaScript, which is totally OK. But what about the visitorS?

Do you care about your visitors? When you compare the loading time of 16 separate JavaScript files and 1 JavaScript file (with the 16 combined in 1) you see dramatic increase in loading time for the visitor. This is caused by the fact that there is fewer HTTP requests. If you really care about your visitors, then combine all the JavaScript into 1 file! It is either the developer saves a bit time when editing the files or thousands of visitors benefit from the faster loading time.

If you can, put your JavaScript files in the bottom of your file. This saves an amount of loading time as well for the visitor!

There are more ways to increase loading time for larger sites. 14 golden rules that you can implement for Faster-Loading Web Sites.

Communication between Frontender and Backender

WE SHOULD COMMUNICATE MORE and BETTER and STRAIGHT FORWARD!! Don’t just assume the frontend developer knows what to do when you tell him or her what you want. Make sure it is crystal clear what you want by documenting it. The requirement “Valid HTML” is not enough. Be clear and detailed in what you expect from a frontend developer like: yes or no to comments, yes or no to tables, yes or no to CSS (yes of course!) etc etc.

Backend developers, don’t edit the frontend code if you have no permission. You probably don’t like it either if someone else touches your code and you have to fix a problem caused by the frontender.

What I think

He is right! I always think that communication between different type of developers is essential. Funny to see that not every developer (apparently) thinks like that. I can not imagine it be that hard to communicate clearly and straight to the point between different divisions, but perhaps that is something my school focusses on. This talk makes me want to communicate better with the different divisions in the future, even if I didn’t learn this at school.

Thank you Robert for your talk! You were very clear in getting your message across with convincing demo stats.

In-between presentations

There was room for a few organisations to promote their activities. The first to speak was Juliette Reinders Folmer from phpWomen featuring a video from Elizabeth Naramore which you can see right a few lines below.

phpWomen

phpWomen is a group to and who encourage women in the IT world and to support women who may find difficulties in the “men’s” world. I am a member but (sorry to say) not active on the forums (yet) but I am on the IRC-channel #phpwomen regularly, idle mostly.

I can understand why women would want to join and be with this group. I personally have not had any bad experiences with working with guys, how lucky am I? Perhaps I amvery lucky or perhaps I just ignore those people (guys and girls) who might cause bad experiences for me.

A little addition for those who wondered: There were 5 women (including me and Juliette) during the phpGG Frontend meeting. As an IT-girl I don’t know any better and in fact, I prefer to work with guys over girls. Perhaps it is because I have bad or not good enough experience with girls on the workfloor. I don’t know..

Fronteers (Dutch)

The little talk about Fronteers by Sander van Lambalgen was interesting. I can understand their purpose and they pursue good goals in the web development world. After the talk I wanted to join Fronteers.nl but found that I have to pay €80. Ehm well, next time perhaps when I settle down and found myself a paid fulltime job. Their weblog seems very interesting since they will highlight topics of web standards. Certainly worth a visit or subscribing if you are a true fronteer!

phpGG (Dutch)

There was also room to promote phpGG by Stefan Koopmanschap. They, or actually we, gave away several elePHPants, 1 codemonkey and a few Zend PHP 5 Certification Study Guides. I was the one who threw the elePHPants into the audience (I am a terrible thrower, I admit!).

To my surprise, phpGG had a suprise for me! The guys thanked me for my contribution to phpGG sofar and wanted to wish me goodluck during my internship in the UK. I had the honour to receive a wonderful voucher for one ZCE Examn => WOW and a Study Guide as well!

The location Briza Muziektheater

It was hard to find the exact location in The Hague. The building says “Zeeheldentheater” but on paper it is Briza. Inside is very cosy, slightly artistic and great for groups of about 50 people. The sandwiches after Mihai’s talk was already served in the main area on large dishes. The lunch was informal, nothing fancy (which I prefer) where you could stand or sit wherever you want.  This makes it flexible and easy to chit chat with other people!

Word from the main Sponsor: Itera

Not only A big thank you to all speakers, phpGG fellow crew and visitors. I also would like to thank Itera for sponsoring phpGG as main sponsor. Itera published an article about this Frontend event as well.  It is a Dutch post, so:  Happy Reading : – )

More reports / links to the #phpggff event

My Final note

Thank you Itera, Microsoft, Ibuildings, Adobe, Eend, Fronteers, phpWomen, phpGG, Scriptorama, all Dutch and Belgium visitors for being there for and with us. I really had a great time with you all and I hope to see you one day in my life again!

Cheers!