Firefox Propaganda

Overall I think people don’t understand propaganda well, and this leads to the perpetuation of bad journalism among other things. I could go on about that, but suffice it to say there is propaganda out there in the tech press and other places concerning web browsers. I don’t really get the reasoning behind why there is propaganda regarding web browser software… A little, just not well enough to articulate or go into here. Anyway may as well add my voice to the noise.

Reasons I continue to use Firefox as my primary browser.

  1. It is decent software that is constantly improving. On the whole, in numerous practical benchmarks and measures it compares well with Chrome, IE and Safari. Meaning there is no obvious or sweeping practical reasons that serve as justification to sacrifice ideologically superior software.
  2. Ideologically superior software?! Firefox is open source AND the only major browser with development driven by an open community facilitated by a non-profit organization. Consider why companies like Google, Microsoft and Apple may want you to use their browser; why they even make web browser software at all… They do not have your interests in mind, at least not primarily. Their primary interests are necessarily those of the businesses and shareholders who profit from you in some form or another. The fact that their source code is open or that their development happens within public view doesn’t diminish the significance of this fact.
  3. The focus of Mozilla being the interest of their users leads to innovative and interesting projects that stand to directly improve the experience of web users.
    1. Rust: a new language that focuses on concurrency and memory safety. This has more potential to benefit users than the languages and platforms advanced by the other browser vendors. Dart, Go, Swift, .NET, etc. They are all interesting, and not bad or anything, but their primary directions and focuses all seem to revolve around solving business and development problems rather than end user problems specifically.
    2. ASM.JS: making code, especially gaming code, blazing fast in the browser. This vastly expands the scope of products that could be delivered though the web browser reducing the reliance on particular OS’s or vendor specific app stores to deliver such products and services.
    3. FirefoxOS: a whole mobile OS that uses the web platform as the development framework and the web itself as the app distribution model! Mobile OS’s have notoriously delivered a relatively poor web experience preferring ‘Native’ Apps and the App Store model for distribution each for various reasons, but some aspects of this model are inferior and detrimental to users experience comparatively speaking.
    4. Shumway, Firefox’s Sync and WebRTC implementations, PDF.js, OculusRift/3D support, etc…
  4. The focus of Mozilla being the interest of their users leads to standards that tend to center around the benefit to web users and developers in general rather than specific features or functionality that some company or companies perceive as important for their products/users/developers.
  5. A few particular features that may or may not be replicated in options or add ons for other browsers:
    1. Firefox Sync: Passwords, history, bookmarks, settings, etc shared between devices, including mobile versions, in a way that remains completely private! Actually, it looks like Chrome supports a form of this now, but it is opt in. By default Google will be able to see all your data unencrypted. (and that makes sense according to their business model, so I wouldn’t expect that to change.)
    2. Just in time tab loading: I like to have my browser open with tabs in state it was when I closed it. This is convenient for me. However there is usually no need to load the content, and start playing videos or whatever might be on those tabs, until I switch to it for the first time. Besides avoiding annoying videos starting to play on some unfocused tab the just in time option keeps memory, battery, and network uses lower in many cases while improving the start-up experience. It is a small thing that makes a significant difference. Apart from some technical challenge that makes it much more difficult than it would seem to be I genuinely can’t see why the other browsers wouldn’t decide to implement this.
    3. Firefox Hello/built in WebRTC tool: The new chat feature bundled with Firefox just floors me. No sign in or pre-agreed upon shared service is necessary between you and whomever you want to video chat with! Just share a link and go!

Recently there was a post going around about switching back to Firefox from Chrome. Even though it is in favor of Firefox in this instance it is this sort of ‘journalism’ that I find disappointing.

Flattr this!

My Android Experience Thus Far

I have had my Samsung Moment since around Thanksgiving 2009. It came with Adroid 1.5 initially and was my first smartphone. I played with it quite a bit at first, but after the first few months the novelty mostly wore off. I fell into a pattern of using it for its browser, email, twitter (mostly reading tweets not tweeting myself.) and occasionally for taking photos. Battery life was pretty dismal which actually discouraged me from using it because I would rather not have a dead phone by the afternoon.

Sometime in the spring it got updated to 2.1 which was sort of a let down to be honest. Most things were just as they were. There were a few more options as far as apps, and a nice new unlock screen, but that about covers it. standard 2.1 stuff was left out by Sprint. I guess they had their reasons.

About a month ago I decided I wanted to try to do some deeper customization. These phones are like little computers. If I could install Ubuntu on my laptop why couldn’t I do something similar on this phone.  Android is basically a Linux distro for mobile phones.

Anyway long story short – rooted it and installed custom ROM with the help of sdx-developers. I actually had some reasons for work that prompted this move, but those aren’t so relevant here. The phone is awesome again. A couple new features and capabilities come with root access that only geeks will appreciate, and all the bloatware that I never used and couldn’t get rid of was gone, but the most useful aspect is the dramatically improved battery life. Now a full day of heavy use is no problem. Two full days is pushing it a bit, but I do it from time to time. The wireless tethering is slick and actually useful when traveling. (did I mention I am not paying Sprint for this feature? … don’t tell….)

It comes with some consequences. The occasional random reboot or flickery screen, but so far they haven’t really interrupted anything I needed to do. reboot is faster than it used to be too. Overall the stability isn’t really a hit, because the phone wasn’t glitch free before anyway.

What is cool is that these now ‘old’ phones (Sprint tweeted they were done providing updates for the Moment 6-7 months after it was released!) can continue to be very useful because of an active developer/hacker community. I do encounter these longings to have the latest greatest devices, but I am also beginning to see much more challenge/fun/value in being able to keep lower end hardware useful through better software.

The more I have a smartphone the less I want to be without one. It is interesting how my computer usage habits are changing because of it. Maybe a topic for another post.

Flattr this!

Grails active page navigation menu

A Common feature found in many CMS’s or web-apps is a navigation menu with a highlighted active page, or the parent of the current page in a hierarchy. The trick is getting the proper element with an added CSS class of ‘selected’ or ‘active’. There are a number of ways to do this, but I just found a new way to do it in Grails using a Sitemesh’s pageProperty.

In my main layout gsp I have the nav menu

 
  

then in the head section of a view gsp’s where I want the appropriate element to have a ‘selected’ or ‘active’ class. I include:

    

Then in the css have something to deal with the applied class:

  #mainMenu li > a.selected { .... }

Pretty simple! I don’t know if this is very efficient in terms of performance. I can think of other ways to do this with Javascript, or params passed from the controller, but I wanted to find something that used Sitemesh as that seemed like the component that ought to handle this sort of feature. So while this is working for me, and gives a pretty good level of control, I am still wondering if it is really the ‘right’ way to do it.

For a more comprehensive explanation of Sitemesh in Grails visit this blog.

Flattr this!

Linux Mint 6 on HP laptop

Thought I would log my experience setting up my laptop with Linux Mint 6.

About the Hardware:

I got a pretty good deal on this from Best Buy on a Black Friday sale. The model number is dv4 1114nr if you’d like to look up the hardware specs. I quickly had Ubuntu 8.10 running on it. Most things worked out of the box. The webcam, the wireless internet, the graphics card, and all the touch buttons up by the screen. the microphone and the neato little remote control were less cooperative.

A Little History:

As time went on a few things were starting to annoy me because I couldn’t manage to fix them. One was that the hibernate and suspend features were not working. A little research and I narrowed this down to a BIOS issue. Basically what that means is there is no way I could fix that with out a special update from HP. Unfortunately they do not provide any BIOS update files that play nice with Linux. I got in touch with them and after they reiterated a few times that they don’t support Linux they sent me a recovery disc. So, backed up my home directory, reinstalled Windows, preformed BIOS update, noted how slow and heavy Windows was, then put in my Linux Mint CD and started over.

Installing, Updating, and Customizing Mint:

The install time was less than 30 min. In contrast it took over 3 hours to run those recovery discs. after the install was complete I connected to my wireless right away, and installed the available updates. about 170MB of them. While that was going on I moved the bottom panel to the top of the screen, changed the wallpaper and theme, and fixed the buggy sound issue that these laptops are known to have.

To do that I opened a terminal the Gnome-Do way (just press “super + space” and start typing “term…” and press enter. In the terminal:

Code:
gksudo gedit /etc/modprobe.d/alsa-base

and add this to the end of the file:

Code:
options snd-hda-intel enable_msi=1

I did a little customizing of my top panel such as:

  • removed – windows list,
  • added – desktop switcher, sysyem monitor, search files and folders, weather
  • hid – gnome do icon (right click and select preferences…)

By now my updates were complete. I decided I wanted to play with the new MintInstall feature so opened that up and hit refresh. Maybe it’s just a first time thing, but it took a looong time to get ready. Maybe a part of that was the screenshots it was loading.

I like to have my windows roll up when I double click the title bar, so while that was loading I went into Menu -> Preferences -> Windows  and set the “Titlebar Action”. Mint Install was still loading, so I also set my location in the weather applet I had added to the top panel

Mint Install was ready so I went to start installing all the stuff I wanted. The screenshots, ratings, and reviews are all neat features, but I wished I could have installed more than one application at a time. While I did abandon MinstInstall in favor of Synaptic Package Manager pretty quickly, I do appreciate its simplicity. And better yet, my list of things to install is much shorter than in Ubuntu because Mint, in my opinion, has a much nicer set of default applications – GnomeDo, PulseAudio, SunJava, Thunderbird the Medibuntu package, etc. Of course part of that is because they ignore certain license issues, but it doesn’t bother me as I own all of those lisences already anyway. Plus I am more and more persuaded that intellectual property is an illegitimate concept idea altogether.

Troubleshooting

I still haven’t been able to get my built in mic to work. If I plug a mic in to the jack that does work, though even that took a little messing around with the sound preferences/ pulse audio settings. Skype needed to be adjusted to use pulse, and blocked from auto adjusting mixer levels. Even then the mic is very very quiet (Part of it might be the crappy mic I was using).

I tried to run a shell script to install Groovy/Grails syntax highlighting by double clicking. That didn’t work. Odd, and couldn’t figure out how to get it to go. I am no terminal jockey, this much is true

Flattr this!

Best internet Radio: Last FM or Pandora?

I often listen to music while working. It’s a common practice I think, and while the traditional approach has been to use the trusty FM and AM signals broadcast by local radio stations more and more people are opting for internet radio. There are two main types of internet radio that I know of. The first kind is just like your traditional radio station. You don’t really interact with what you hear you merely tune in. The main difference is that you use a URL to tune in instead of a frequency. The advantages of this are greater selection and maybe fewer advertisements.

The other type is streaming audio that is dynamically determined by your interactions and preferences. Pandora and LastFM are the two most popular examples of this that I am aware of. A major difference between these two very cool applications that isn’t readily apparent is the way they decide what music to play for you. Other more obvious differences have to do with user interface.

Pandora:

Pandora Logo

Pandora’s recommendations are based on the intrinsic qualities of the music. Give Pandora an artist or song, and it will find similar music in terms of melody, harmony, lyrics, orchestration, vocal character and so on. Pandora likes to call these musical attributes “genes” and its database of songs, classified against hundreds of such attributes, the “Music Genome Project.”

Pandora runs in your web browser. Which means to use it all you have to do is go to their website. They have a really nice interface, the only downside of which is that it requires a flash plugin (this isn’t an issue for most people, and as a side note Pandora actually uses a open source alternative to Adobe Flash called Open Laszlo. Well done Pandora development team!). Pandora’s methods for letting you add stations, and for mixing up different genres and artists is very intuitive and has made for some interesting mixes for me. The downside is that if you have a somewhat slow connection it may take some time to load up. In the era of tabbed browsers it is no problem at all to leave a tab with this running. The drawback of this browser dependent approach is that you are going to have to come back to the proper browser tab if you want to rate a song, change the volume independently of other sources, or just figure out whats playing. I have heard a rumor about a desktop widget type of thing that can control Pandora, and if not that there are bound to be browser plugins that show up to deal with this inconvenience.

pros:

  • intuitive fun user interface
  • good method for building stations
  • good information on artists
  • information on your friends listening habits
  • fast initial setup
  • good for finding music with very specific sound

cons:

  • advertisements, (not in the music though)
  • stuck in the browser
  • seems to play a lot of repeats on some stations

Last FM:

LastFM Icon
Last.fm is a social recommender. It knows just a little bit about a songs’ intrinsic qualities. It just assumes that if you and a group of other people enjoy many of the same artists, you will probably enjoy other artists popular with that group.

LastFm can be run from your browser, from a lastFM program that you install, or from plugins within many popular music programs. and using a plugin lastFM can learn about your music preferences from any music you listen to, not just what you listen to in lastFM itself. This is a pretty powerful way to get worthwhile music recommendations. The upside of the plugin and independent player are that you can control the music without having to navigate back to the proper tab in the browser. You don’t get some of the flashy effects and animation that are so impressive on Pandora, and the initial set up can take a little longer, but in my opinion the trade off is totally worth it. The Last FM player, and plugin are also open source, which I am obviously a fan of. Another advantage is the lack of advertisements. Of course there are adds on their site and well placed links to click if you want to buy music but other than that you won’t be solicited in any way.

pros:

  • no browser lock in
  • great new music suggestions!
  • good information on artists
  • even more information on your friends listening habits!
  • open source
  • good for finding music you like in wide variation of styles and sounds

cons:

  • take more time and effort to get going
  • no frills, just music (potentially a good thing…)

Conclusions

Both Pandora and LastFM are amazingly cool tools that help people enjoy and discover new music. Both are well executed, and both have unique advantages. I prefer LastFM for the variety and types of music that it recommends and for the way I interact with the player. I still use Pandora from time to time, and would recommend it especially for more casual users.

Flattr this!