Now dynamic creation of the course overview page.

April 26th, 2008

Another small step. The page Homepage -> Multimedia Courses is now generated dynamically. This far it was a static page.

No change at all from a users point of view - although it looks a bit different and now shows view statistics right there. However, it is another step towards a “real” community website, where posting content is possible for web users.

Should I announce every tiny step? Well, why not? This is the Change-(B)log!!!

Next: Ability to  upload “items” and create “courses”. To create a new course one has to create a course AND upload items. Items are any kind of content, Flash files, video files, images, text files, PDFs, etc. etc. Other content websites allow only videos, like the German commercial project learn2use.de I just joined. That makes management soooo much easier. This project aims higher. A course needs more than just video! One needs PDFs to print, tests, still pictures, HTML content (I have a content type “multimedia enhanced dynamic HTML”, where video/audio can be attached to an HTML page and it controls its dynamic behavior, the page does not need to be static but can employ dyn. HTML effects controlled by the audio/video, to make stuff move/appear/disappear/etc.). When you create a “course” you put the “items” - yours and those of other people! (if they allow it - compatible license types are checked and enforced automatically, i.e. in the future) - so you put the “items” into the course. The course itself has a “glue file” that can be HTML, or Flash. From there you link to the “items”. The course file only “glues” them together, i.e. it uses those reusable files (by you and/or others) and adds content specific to only that course. Sounds complicated? No, why, you do that any time you write a webpage and use a CMS (content management system).

Mörre

New archive for the list

April 23rd, 2008

It turned out I could not use the Google Groups service to archive the mailinglist list@letexa.com. The technical reason does not matter, I found a service that is a MUCH better match for Letexa! The Mail Archive is a free but professional quality (it seems) service with a spirit very similar to the one of this project.

On the private side,  I am going to join a German startup learn2use.de, and take over responsibility for all the technology (i.e. “CTO”, but that title sounds a little grand for the current early but very promising state). I hope to be able to “leverage some synergies” between Letexa and that business, which means I’ll continue working on Letexa. It’s just a fun project, and I don’t care at all that right now I get only 5 visitors per day :-)  That’s because I know that if I tried I could get more, but I take my time. Besides, I use the site to experiment with designs and technology. Design: current Letexa design is supposed to be (remain) simple, with few images (none! except for some buttons and the logo) - and in black&white. Adding some AJAX recently, e.g. for the login, sure wasn’t a high priority from a project point of view (to say the least), but it sure showed me A LOT of things hard about AJAX. That’s not the technology itself, but managing a website and many different possible states that can happen when people with or without Javascript use the site, login using AJAX within a page and then press “Back” in the browser (which navigates to a page that had been created server-side in “logged out” state), and many other potential pitfalls.

Even though I’ve VERY few readers, I’ll keep adding to the change-blog, this is a documentary for later!

Mörre

PS: This latest entry also serves to test the new mailinglist archive, because this blog post is sent out via that list too ;-)

Site changes: beginning to code the backend for contributors

April 22nd, 2008

The “Contributors” section has changed. There is no underlying functionality yet, but the main contributor landing page now reflects what is intended. Next step is to implement backend functionality to enable uploading content, and to manage the content one uploaded. The framework for how this could look like has been set…

As usual, please report any issues. There are lots of things to consider - even more when one uses AJAX, as I do. For example, if someone logs in using the AJAX method within every page and then uses the browser’s BACK button one gets to a page where the user wasn’t logged in. So I had to implement code that changes the appearance of that page to reflect the now logged-in state too, even if it didn’t the last time the user was there… and that requires Javascript. There are even more issues when considering the various states of elements on a page (e.g. buttons: enabled or not) when you do it in PHP and/or in Javascript after loading…

Mörre

Site (code) updates

April 14th, 2008

Yesterday I enabled site-wide user registration, login and logout. Today I enabled AJAX for the login.

This is a minor step, but important, since this is the very basis for enabling user content. By enabling AJAX-ified login I created a basis for a modern interface. The Javascript-disabled browsers still get all the functionality, but IMHO AJAX is not just a hype but really is a great technology for faster browsing.

I’m using SMF forum on my site. The new site-login uses the user data collected by SMF forum. However - and I’m quite proud of this - only during the login procedure itself I use SMF and its database. I avoid any additional calls to SMF, not even via the relatively lightweight smf_api.php API file they provide (compared to the native SMF routines in SSI.php)! After SMF user authentication I rely on the PHP session mechanism only. True, SMF does more sanity checks to ensure security, but when the only issue is to display to the user the fact they are logged in, and not a security critical action like withdrawing money or deleting uploaded content, it makes little sense to have all this overhead for a simple status message!

A few days ago I switched to swfobject 2.0 for Flash detection, and to having just one site-wide PHP template file for displaying the Flash multimedia content. One of the differences now: This new version of swfobject does not require Javascript to function. This is for the very few people who disable Javascript (the Firefox “noscript” plugin is quite popular…), but forgot to remove Flash… :-)

Mörre

PS: If anyone finds a bug in this new login code send me an email, please! (webmaster@letexa.com)

Small update: Course View Counts

March 25th, 2008

Not much, I just added an asynchronous AJAX call to all course HTML pages to call a script on the server that increases the view count for that course by 1.

Interesting: In Firefox when I reload the course’s description page I see the updated view count immediately, on MS IE (7) I see the update only after two minutes - which is correct, since the script that loads the data incl. the view count for a course asynchronously (AJAX) sends an Expires: header two minutes in the future, to prevent repeat calls when a user does simple back/forth navigation.

Mörre

Technical changes to the website (some AJAX)

March 6th, 2008

I made some changes “under the hood” that shall help me managing more courses. So far everything was each course with its own files in its own directory. So changes had to be done in ALL those many files. I now have just one top-level PHP file, and the courses utilize that file and only the text description for each course page is an individual file in that courses´ directory.

I also started utilizing mySQL. The “statistics” panel on the right on each course page is loaded AFTER the page has loaded using async. communication. I didn’t want to delay page load by waiting for those mySQL server data before being able to send the page, when that statistics data  is of only marginal interest to most viewers.

Everything works as before now, but internally I have amuch better foundation for addinng more courses now, and to add more features. So far that statistics data isn’tcreated, I don’t count “Viewed” yet, for example. I need to improve the Flash part of my infrastructure in order to do that first, because I don’t want to cound a page view as “course has been viewed”, but wait for a message from inside the Flash course to be sure people really DID view the contents.

Anyway, I’m slow, but this is a hobby project - even though a serious one! - and I’ll keep updating and adding over time! My own benefit: a field for experiments, a showcase, and a way to keep up with modern web technologies not just passively. Oh, and I still want to make this a community project, I already checked the feedback some time ago, but I still have some work to do. Of course, anyone is free to come into the project right now, but before I can actively seek contributors I need to provide a better base and better instructions and explanations.

Mörre

New Screencast: Installing Fedora 8 Linux (in VMware)

December 13th, 2007

This 9m:27s screencast shows you an installation of Fedora 8 Linux as guest system inside a VMware virtual machine. This includes the demonstration of the installation and setup of the VMware tools package in the installed system.

I used Techsmith’s Camtasia for recording the screencast. There was some difficulty, but in their user-to-user support forums some of their engineers keep a watch - and helped me out by spending a few hours on my problem and giving me an easy to use workaround for it. Very nice, no one at Adobe would do this for Captivate. Still, something as simple as a screencast can be a major headache. I was unable to include the audio in the screencast Flash itself, because that produced lots of strange (audible) audio errors. I also couldn’t save it as “video” (.avi or .flv) since this either requires the user to have the Techsmith codec installed, or I’d have to use a video codec designed for “normal” video and not lossless screen capture - with horrible consequences for quality (try watching screencasts on Youtube). Besides, the Flash format is even better than the best screencast-optimized codec (so far?), the resulting file is much smaller than the video file.

So now I load the loader, which loads the screencast Flash .swf file, and only then lets you start the screencast. I would have preferred to let you (the user) start right away, after all, Flash is a streaming format and what better content is their to stream then a completely linear screencast? But I decided to program it to wait until all is loaded - sorry. That’s because I already stream the audio, which as I said I could not include in the screencast file, and I don’t want to have TWO streams (screencast video and the audio) in parallel, both taking up bandwidth and maybe not in sync… So users just have to wait for the 12.8MB to load. Could be worse.

Mörre

New course: How Emails are transported (Introducing SMTP)

November 12th, 2007

There is a new course and a homepage update. The new course is About the Simple Mail Transfer Protocol (SMTP). I’m not quite satisfied with any of my courses, but I think for quite a few people this is still going to be interesting.

Mörre

Letexa is hiring!

November 5th, 2007

There are quite a few jobs available, go to the homepage!

Mörre

2 new screencasts

November 4th, 2007

I added two screencasts:

Mörre

2 new screencasts

October 31st, 2007

Two new screencasts for Thunderbird.

  1. Adding a USENET account
  2. Adding RSS feeds

Layout based on YUI

October 23rd, 2007

I’ve started converting the site to the YUI from Yahoo. The library doesn’t just provide a Javascript library but also a CSS library, and especially the grid part of that library is what I’m using. Also, for future AJAX functionality I prefer the YUI too over other JS libraries.  Since the parallel (German) website I’m developing for multimedia service offerings (with examples mostly, nothing sold there directly) uses YUI and since the HTML/CSS codebase for letexa.com needed cleaning up anyway (before adding more pages/stuff) it made sense to convert now.

Nothing new? Yes and no.

October 8th, 2007

While it is true that nothing has happened under this URL I am still working on this project and will continue to do so. I realize my progress is painfully sloooooow. My priority right now is a German website that hosts some examples of multimedia content to support a small business that offers creating multimedia content. URL is here: http://euramer.com/ - but beware, the site may move any time (the domain  it’s under right now is a “leftover domain” for which I’ve no real purpose), and at the time of this blog entry only the homepage itself exists.

I was inspired by the new ibm.com design after my original proposal got the thumbs-down from some friends of mine whom I had shown it to…

I’m using Yahoo’s Javascript library, YUI, which I really like.

However, I think that homepage has some nice things that MANY sites, even large one, are missing:

- The page is a centered fixed-column width design. And yet, if you increase your browsers font size the pagewidth is going to increase too! Many sites with such design keep the original width, so that less words fit on one line. Bad for people like me with a 24 inch monitor who want to move away from it, e.g. to sit on a hometrainer while reading :-)

- If the above page width increase happens the image or Flash object under the menu increases too! Now this is something that NO site I’ve seen so far does. If their font size increases i is for the HTML text only, but all images and Flash stays the same pixel size. This is not true for Internet Explorer (7)’s zoom feature which indeed increases the size of everything on the page - a nice feature of that browser (which in many other respects still is inferior to Firefox from a web programmers point of view), but if you use IEs “larger/smaller font size” menu setting it has the same issue. I dynamically increase the size of the image/Flash object when such a font resize occurs. I keep saying image/Flash because right now I have an animated GIF  under the menu, but this is only a placeholder for a Flash object. Inspired by ibm.com, as I said… I have little trouble with the “should I use Flash there” question since the entire site is about using Flash, the business is about creating multimedia content using mostly Flash after all, so anyone who doesn’t like Flash shouldn’t be there in the first place…

Mörre

New courselet: Building a Flash-based Image Viewer

September 6th, 2007

http://letexa.com/courses/9/

If you program in Flash and are interested in building an image viewer or a print preview dialog, this courselet might be for you. It is the first example of interactivity in a Letexa course.

Mörre

New courselet: The Thunderbird Options Dialog

August 28th, 2007

http://letexa.com/courses/8/

It is the first version of this courselet. It is not complete, contains errors and problems, and still could be MUCH improved. It took a lot of effort to get even to this point…

Mörre