new personal haxe website

174 views
Skip to first unread message

Robin Burrer

unread,
Jan 24, 2014, 6:29:22 AM1/24/14
to haxe...@googlegroups.com

Hi list, 


just wanted to share some thoughts. For the last few weeks I worked on my personal website. I thought I use this project to try out a new approach. 


I wanted the site to be interactive and the development process should be fun - so haxe was the only solution for me :-). Furthermore, I wanted to have an app-like character on mobile devices, but on the other hand it should also be recognisable as a website.


And then I wanted to have separated versions for smartphone and desktop/tablet (traditional responsive design seems always like a compromise to me, or is just not fun to develop).

As a CMS I used wordpress - but I actually just created a web service, that provides the text content as html.


As with most of my haxe projects I used MMVC. That allowed me to start with the tablet version. When the tablet version was done, I duplicated my view folder an modified the views and mediators for smartphone. 

That was it - the rest of the code remained unchanged. The development process of the smartpone version was really quick.


So in my build.hxml I can now switch between smartphone and desktop version. The good thing about this is, that only code gets compiled, which is actually needed (e.g. there is now  desktop code in the smartphone js file and vice versa). 


And I still have only one codebase to maintain. 


So that’s it - I’m just excited that it all worked as planed. Have a look at the site if you want: 


www.burrer.de  (there might still be some bugs - I only tested Android on the emulator) 


Cheers


Robin

Marc Weber

unread,
Jan 24, 2014, 8:11:00 AM1/24/14
to haxelang
You're effects are nice - they exist - but they are not obtrusive.

Marc Weber

Confidant

unread,
Jan 25, 2014, 3:26:38 PM1/25/14
to haxe...@googlegroups.com
I find this inspiring; almost like the Flash-based websites.
Can you offer a little more detail on how the CSS matrix transform works? This is the first time I've seen it used and known about it, actually.
Is it tied to a window resize event?

Marcelo Serpa

unread,
Jan 25, 2014, 3:52:13 PM1/25/14
to haxe...@googlegroups.com
Interesting. I’m also working on a new site for myself but I’m using middleman (ruby) to use haml/ruby goodness and preprocess it into a fully static site.

I thought on using Haxe, actually, but not for the full project, but only for the Javascript client-side layer, however, I ended up just using plain jQuery, since doesn’t really need that much complexity. I can actually go very far with a static site only, with the added benefit of being super lightweight and fast to render by the web server (nginx in my case).

That being said, I’m quite curious about your architecture. If you could dig deeper in a blog post, that’d be awesome. 

-- 
Marcelo

--
To post to this group haxe...@googlegroups.com
http://groups.google.com/group/haxelang?hl=en
---
You received this message because you are subscribed to the Google Groups "Haxe" group.
For more options, visit https://groups.google.com/groups/opt_out.

Marcelo Serpa

unread,
Jan 25, 2014, 3:58:20 PM1/25/14
to haxe...@googlegroups.com
By digging deeper I mean: listing what Haxe/native libs you used, how you architected it, what you used for the server side part of the app. 

I specially liked the part where you mention how easily you can deploy to different devices. That’s powerful. However, I’m curious on why you haven’t used a responsive design/framework (like bootstrap) and opted to adapt to each device, instead?

-- 
Marcelo

underscorediscovery

unread,
Jan 26, 2014, 3:00:53 AM1/26/14
to haxe...@googlegroups.com
I think it looks good.

My only suggestion is spelling/correct name usage iPad vs Ipad <- for example :)

Great stuff.

Robin Burrer

unread,
Jan 26, 2014, 3:55:30 AM1/26/14
to haxe...@googlegroups.com
Thanks for the hint !

Robin Burrer

unread,
Jan 26, 2014, 3:56:47 AM1/26/14
to haxe...@googlegroups.com

Hi Marcelo and Confidant ,


The whole site is basically just one haxe js file(actually two -  one for tablet and one for smartphone). As I said, I used mmvc as an architectural framework. I like mmvc because it does not tell you how to build your views. 


I don’t use any UI frameworks exempt of iScroll. And actually, I just used iScroll because I wanted to have a quick solution. iScroll performs well but the integration trough the extern class is not really elegant, so I rather create my own component for this as well. 


I created a basic set of hybrid touch/non-touch components that are very light-weight and perform well.  I either extend them in my view classes or use them through composition. The view mediator pattern allows me to use my views in a very Lego-like way, which is great for experimenting. 


The problem I have with most UI frameworks is that most of them are bloated and don’t perform well on mobile. They are like Flex used to be - complex and quick in terms of development - but the performance was always bad - and if you ran into a problem you had to go through 600000 lines of code…  Sorry for being so ignorant :-)


I have not tried bootstrap yet. It looks neat, but I think It would not fit in the approach I just described. But I think the choice of a framework always depends on what you want to do. 


>> Can you offer a little more detail on how the CSS matrix transform works? This is the first time I've seen it used and known about it, actually. 


That’t easy - it’s like a sprite in flash (but my sprite component uses a div tag that holds other sprite components). When you scale the parent all children are scaled as well. You listen for the resize event, scale the parent(sprite) and place it in the center of the screen.


>> what you used for the server side part of the app. 

As I mentioned I used Wordpress as a backend, which is really great. I used the “Advanced Custom Fields” plugin, that lets you create custom post typed very quickly. I then created an ajax service that loops  through my page and projects entries, and creates untyped php-objects. These are converted to json and provided to my client. 


On the client-side I serialise them to strongly typed value-objects and populate my models accordingly. The views are created at runtime on the client side, depending on what data is provided by the backend.


I think creating the Wordpress backend was the quickest part - it only took me a few hours. 


Furthermore, I use the slugs that are generated by wordpress to create my query strings, this way I can deep link in my app e.g.: http://burrer.de/?page=projects&project=alles-gute.


Hope this gives some insights :-)


Cheers 








 


Am Sonntag, 26. Januar 2014 09:00:53 UTC+1 schrieb underscorediscovery:

Saar Korren

unread,
Jan 26, 2014, 7:49:13 AM1/26/14
to haxe...@googlegroups.com
While I hate playing devil's advocate here, I'm going to have to say this: The site, while flashy, is an SEO and accessibility nightmare.

I suppose it would be good enough as a web-app, but as far as I can see from the content, it seems like an image site was intended. No SEO presents a pretty bad image.

Here's my tip to you, and any other web designer who might be reading this: Go to your website, turn off JavaScript and CSS, and load it. While it should look less flashy, it should still be readable, clean, and you should still be able to reach most text/info pages (If you have Flash games or other fancy features on your website, there's no need for them to be reachable in stripped-down mode). Furthermore, you should be able to navigate it with the keyboard, using Tab, Enter, and the arrow keys.
Message has been deleted

Robin Burrer

unread,
Jan 26, 2014, 12:38:57 PM1/26/14
to haxe...@googlegroups.com
>>While I hate playing devil's advocate here, I'm going to have to say this: The site, while flashy, is an SEO and accessibility nightmare.
You are right. I think that’s kind of obvious - a flash site won’t be viewable without the flash plugin instaled and a js app will not work when JavaScript is turned off.

I’m aware of this, but thankfully SEO is not the only thing that matters. I never said that this is the new way of doing things and should be applied to other websites. But I my case SEO can be added quite easily. I can just let WordPress generate these pure HTML sites, I actually already thought about this. Then I also add some JavaScript that automatically deep-links in the js app when the page loads(clients with JavaScript turned off or search engines will obviously ignore this) - done. Again - I’m not saying that this is a solution for everybody - but in my particular case I think that does the trick and search engines should be able to find all content.

flashline

unread,
Jan 26, 2014, 2:31:11 PM1/26/14
to haxe...@googlegroups.com
Hi,

I tested on my Acer a500, android 3.x ,

In landscape, every thing looks ok, except in menu>projects when I zoom on an image the scroll is a bit slow and staccato. I not sure the display is like you would (?) and the return isn't evident if we don't see the closing cross.

In portrait, the half bottom part is empty !. Because you target customers for mobile apps, I seems for me you have to make the site more really responsive.

Otherwise I like this pure and simple design... It's clean :) 

Good luck.

jm

Robin Burrer

unread,
Jan 26, 2014, 3:25:16 PM1/26/14
to haxe...@googlegroups.com
Thanks for letting me know. I haven't tested your device yet. I still have to do more testing on Android devices in general (there are so many of them :-(.)
It's highly unlikely that I will cover all of them.....

So far it should work as expected on:

- iOS (iPhone, iPad, iPad retina) 
- Chrome
- Safari
- Firefox
- IE 10 and higher (IE 11 seems to be really fast)

- android 4.0.4 and higher 

You should get the best performance on iOS devices though. 
I hope I will get the chance to do some more testing on different android devices next week.

>>I seems for me you have to make the site more really responsive.
I see what you mean but most of my favourite (native) apps have a fixed orientation. Similar like paintings that have a fixed orientations as well :-)
I wanted to adopt this idea for this microsite.....

flashline

unread,
Jan 27, 2014, 7:27:51 AM1/27/14
to haxe...@googlegroups.com

>>I seems for me you have to make the site more really responsive.
I see what you mean but most of my favourite (native) apps have a fixed orientation. Similar like paintings that have a fixed orientations as well :-)
I wanted to adopt this idea for this microsite.....
ok I understand fixed orientation choice. 
But today I test on Android Htc 3.x and...
it's perfect ! Layout is ok. The fixed best orientation is this time portrait otherwise "Please rotate your smartphone" is displayed.
I think you just have to do something similar on tablet with lanscape fixed.

Else then can I ask you to look if www.flash-line.net/org/app/web/html5/calendar/en.html is ok on Iphone. I just tested on Ipad. 
Thanks ;)
jm

Robin Burrer

unread,
Jan 27, 2014, 9:49:47 AM1/27/14
to haxe...@googlegroups.com
Great Stuff,

the only bug I noticed is that when you tap on a month header it scrolls up to the very top of the page rather than to the the top of the month container. 
That only happens occasinaly on iOS (ipad and iphone) in the browser it works fine.

Cheers

Robin
Message has been deleted

flashline

unread,
Jan 27, 2014, 11:55:58 AM1/27/14
to haxe...@googlegroups.com
Le lundi 27 janvier 2014 15:49:47 UTC+1, Robin Burrer a écrit :
Great Stuff,

the only bug I noticed is that when you tap on a month header it scrolls up to the very top of the page rather than to the the top of the month container. 
 
Oups ! I thought this bug was corrected. I gonna ask again the Ipad of my neighbor ;) Thanks a lot. jm
Reply all
Reply to author
Forward
0 new messages