2009-04-06 mobile-monday
| Article | Discussion | Edit | History |
From BLUG
06/04/09 - Mobile-Monday Mozilla + Cibenix
So it was a Monday not everyone's favorite day of the week, but this was pretty cool Monday. It is not everyday here in sunny(raining) Northern Ireland do you see the likes of the famous non-profit organization Mozilla creator's of the web-browser Firefox the email client Thunderbird and various other projects like Bugzilla etc. With such a big project there has been a lot of technology created and designed by many creative minds at the Mozilla labs and this is leading to a new open-source media player, songbird based on Mozilla technology which makes it cross-platform as in Windows/Mac/Linux/BSD/Solaris.
So on 6th of April, it was arranged there would be a talk in the Invest NI building around half 5 or so with food ;) . So In true fashion I dashed off from work early to see what this was all about. The day was labeled 'Mobile Monday', so this specific talk had to do with Mozilla's new venture into the mobile computing market, so porting a version of Firefox code named fennec, to a mobile embeded platform. There are a lot of technical issue's and targets to meet, which I will highlight later.
So there were two speakers at this event, one dude from Cibenix, and company that does a lot of UI design and implementation on mobile platforms, and of course Christian Sejersen from Mozilla. They both gave very interesting talks, so the dude from Cibenix(... can't remember his name), his talk i think was more high-level and he seemed to be more of a sales-guy, but he highlighted a lot of things you would never even think about in UI development, like user experience, to developers most things almost always seem intuitive in front-ends, but really they aren't, like Unix guys like us will probably think yeah copy folders.. 'cp -rvf <folder>', or move the files ending in 'c' and 'h' to a different location ah its just 'mv *.{c,h} /bla/newfolder'. Most people are going to go and say what?!
This is what made this talk interesting he highlighted weird and crazy things, like women prefer to turn wheels on UI's in one direction only, where as men always want to have full control and move either way on a wheel interface to get to the next application on the wheel like the apple-click wheel interface but the menu always comes full circle. Right that was kind of weird but its not something you would ever think about! Then he talked a lot about advertising, how so long as advertising is non-intrusive they should be useful, and how advertising companies have found, although profiling of what people are looking at to show more advertising on that subject doesn't work. Just because you may have be interested/researching in that subject once, but you want to want the same adverts all the time when you go looking on completely different products.
So yeah advertising and business stuff generally isn't my cup of tea I but I found it pretty good talk, and he was very open and clear in his points! Now onto the main event Mozilla's talk on fennec, this talk was quite detailed Christian went through the goals of what fennec is and will be:
- provide Mozilla’s standards-based open-source browser engine, optimized for mobile, that can be embedded by device manufacturers and others;
- a full-featured mobile browser including support for XUL-based add-ons, delivering on Firefox’s key principles of ease-of-use, security and accessibility;
- grow the Mozilla community in the mobile space;
- provide tools and documentation to help developers develop, debug and deploy web applications;
- do all of this work in the shared Mozilla source repositories so all platforms, desktop and mobile benefit each other
//This was taken of http://www.christiansejersen.com/blog/2007/11/mobile-goals/
So this is a pretty complex task to bring a full blown browser to a mobile device, traditionally so far on mobile devices the web-experience has been to sites that are 'mobile-friendly' which is always a really dumbed down version of the web application/site + they always suck :P. So in doing this they hope to really start innovation in this area which has been pretty closed and restricted over the years. Mobile devices have always been very proprietary and closed to outside developers over the years but with GNU/Linux on the move into area's like Open-Moko and Maemo, which has been the prefered prototyping platform for fennec. This is due to its hardware having a slightly larger screen and hardware capacity's. As a full blown web-browser is a memory hungry and CPU intensive application on modern web applications.
So naturally due to the massive reduction in screen space the UI and user-experience has to take a massive consideration, so there has been up to around 10/11 proposals the Mozilla wiki shows the first 10 proposals here: https://wiki.mozilla.org/Mobile/User_Experience
The last proposal that is the current version of fennec doesn't seem to be there, maby it is if you look around a little. But you can download the latest version and check it all out on your desktop if you want to check out its development. But this has to be one of my favourite interfaces: https://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen/TouchBar
But from the user-experience reviews they got it was bad choice much like the other totally awesome ideas! So we adapt the latest version can been seen in my screen-shots at the bottom. Anyway's make sure you go: http://www.mozilla.org/projects/fennec/1.0a1/releasenotes/#start
- GNU/Linux users
$ wget -c http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.linux-i686.tar.bz2
$ tar xvf fennec-1.0a1.en-US.linux-i686.tar.bz2
$ cd fennec
$ ./fennec
Some screen shots at the end, but one really interesting thing is having some discussion on 'jemalloc' is used in firefox and of course fennec but there has been some extra work with it in fennec, its a small thing designed to minimize memory fragmentation and optimize memory usage which is extremely important in embeded platforms!
- So check it out:
$ apt-get install valgrind
$ valgrind ./fennec
Just seem how little fragmentation and memory is lost its pretty impressive for how young this application really is.
==8656== ERROR SUMMARY: 2906 errors from 20 contexts (suppressed: 305 from 2)
==8656== malloc/free: in use at exit: 4,180 bytes in 3 blocks.
==8656== malloc/free: 65,940 allocs, 65,937 frees, 9,172,442 bytes allocated.
==8656== For counts of detected errors, rerun with: -v
==8656== searching for pointers to 3 not-freed blocks.
==8656== checked 25,925,696 bytes.
==8656==
==8656== LEAK SUMMARY:
==8656== definitely lost: 0 bytes in 0 blocks.
==8656== possibly lost: 0 bytes in 0 blocks.
==8656== still reachable: 4,180 bytes in 3 blocks.
==8656== suppressed: 0 bytes in 0 blocks.
<screen shots...>
So this is a good few screen-shots to show off fennec. So his talk covered each one of the proposals on the wiki and why and why not. Most of them always come down to user expectations and not understanding how and why. So they need something that is completely intutive one thing he highlighted was the fact that apple had such a huge marketing campaign that everyone knew the gestures to use the interface before they even got the device. Where-as projects like this that cannot afford that, so we rely on user's reading the docs and playing around with the device so this means they needs some thing is very natural for the end-users to do.
Once the talks ended the whole thing carried onto a bar around the corner where the bowling place used to be! This was when us 'bluggers' got together and had a drink with Alan Wilson who invited us to the talk and also brought Christian over to us for a chat about FOSS. I think we all appreciated this chance to talk to a full-time open source developer to get some insight to his personal work and how he works with communities instead of clients or business goals. With FOSS its always about the software and the community of that particular software. This is where we discussed some of the technical development of the project like 'jemalloc' the memory allocator to minimize fragmenation, the java-script jit compiler (spider monkey). The scratch box development environment the openness of the Mozilla project to contributors and the review process. Also we talked about XUL for desktop applications instead of good ole' gtk/qt.
All in all I think this was a brilliant experience for the BLUG as a whole and its great so many of us showed up to show the support of FOSS in Northern Ireland. And hopefully this may make us motivated to join the development of Mozilla projects.
Special thanks to Alan Wilson of Invest NI for his invitation to this event and hopefuly seem him again at another like this one :)
Links:
- http://www.belfastlinux.org/wiki/Main_Page – Belfast Linux User Group
- http://www.christiansejersen.com/blog/ - Christian Sejersen's Blog
- http://www.christiansejersen.com/blog/2007/11/mobile-goals/
- http://www.mozilla.org/ - Mozilla homepage
- http://www.mozilla.org/projects/fennec/1.0a1/releasenotes/ - Fennec alpha 1 homepage
- http://www.scratchbox.org/ - Scratch-box
- http://www.mozilla.org/projects/xul/ - XUL: XML User Interface Language project
- http://www.mozilla.org/js/spidermonkey/ - Java-script jit compiler
- http://benjamin.smedbergs.us/blog/tag/jemalloc/ - Call for help in memory management in Firefox
- http://blog.pavlov.net/tag/jemalloc/ - Jemalloc blog/links