FERDY CHRISTANT - FEB 25, 2015 (07:22:07 PM)
JungleDragon V4 - update 11 is now live. Where the 10th update focused on data rewiring in preparation of upcoming countries and parks features, this update focuses on navigation: a fluent and easy way to explore wildlife geographically.
A small change is the inclusion of a countries' flag on the explore button below geotagged photos:
Simple, but as country flags are very recognizable, a useful update me thinks. Click that button would take you to the country map, but before we do that, let's zoom out a little:
In the global navigation, the "Map" link is renamed to "Explore". Because that is what it does now:
Here were at our gold-old global wildlife map. I've made several improvements in the centering and zooming of the map on various viewports and devices. But that's not the big change, instead, this is:
There's a new control right above the map that basically is a single control to switch between exploring the world and a single country. It is currently set at the global map, but this is what happens if you click it:
A list of countries. Finally. This is an important change as there previously was not such a quick and easy way to dive into countries. They are presented with large, clear flags with a big clickable area so that it also works great on touch devices. On smaller devices, the list will automatically use less columns:
To my US friends who may be annoyed that their country is at the bottom (due to the alphabetical sort order), there's also a search box:
There you go, just typing 2 characters is enough to very quickly find it. Let's click one country:
And here we are, exploring Namibia. Let's have another look at our Explore control:
Cool, isn't it? Clicking the globe brings you back to the global map, clicking the current country brings you back to the country selection screen. A very simple and rapid way to explore countries.
Also new is the ability to share a country:
Which looks like this on Facebook:
The 10th and this 11th update both were crucial preparation updates to make possible far bigger things. We now have a smooth way to explore the world per the country dimension, which we did not have before. However, the true value of this work will show in the coming updates.
Countries, as they are now, are still shallow, consisting of only a map of pins. But that will change, soon. I'm very excited about the next phase, and also somewhat troubled, as there are some hard nuts to crack.
FERDY CHRISTANT - FEB 20, 2015 (08:57:22 PM)
We're only in february, and here is already the 10th update of JungleDragon V4. The past 9 updates made improvements in many areas, and also added a few new features, such as "seasons" and species integration on user profiles.
All of those updates were done to clear my list, so that I can focus on the big idea of JungleDragon V4: the deep integration of countries and parks throughout the site. It's an initiative that likely will take a few months in total to implement. This specific update does the internal rewiring and ground work to make the idea possible in the first place.
This update is important, but has no impact on users yet. Therefore, the following is for people interested in the internal engine. It may be a bit boring, sorry. Here goes:
1. Data standardization
So the big idea is for countries to become a strong entity within JungleDragon, collecting photos, species, parks, users, and more. For that to work, we need to have a standardized list of countries.
More specifically, our internal list of countries must match exactly with the countries one gets back from Google Maps. When you geotag a photo, you position a photo at a longitude and latitude. Next, I call Google's reverse geocoding API to retrieve a human-readable address based on those coordinates, which contains a country component. That country that we get back, must match our country list.
I went ahead and created a new internal countries table, based on ISO 3166-1, the standard used by Google. The country table has the following fields:
- code (2 letter)
- code_alpha3 (3 letter)
- name (ISO)
- name (display)
- continent code
There's 249 rows. To finish this data standardization task, I also collected icons for all 249 countries, and named the files as per the 2-letter country code.
2. Linking users to the new countries table
Users in JungleDragon are able to fill out a country on their profile. If they do this, a flag will appear on their profile for that country, which is also a link to the map of that country. This flag was linked to the old (inconsistent) country table, so it is now rewired to the new, standardized table.
I had to do a tiny data migration. Country code "UK" is not an ISO country, so I changed that one to "GB" for any user that filled out "UK".
3. Linking geotagged photos to the new countries table
During the uploading of photos (if the photo has geo coordinates) I run logic to calculate the country from the coordinates, the same is true when you geotag a photo after uploading directly in JungleDragon. Up until now, this was a matter of storing the country display name as returned from Google Maps on the image record. As of now, instead the countries' ISO code is used, which is a far stronger and more reliable link.
4. Decoupling the global map from the country map
JungleDragon's global wildlife map and the country map before really were the same thing, the only difference being a parameter (country) being passed in. These 2 concepts (global and country) are now competely separated in my back-end, and they also have separate pages.
This way, a country as of now is really an entity in JungleDragon. You cannot yet see that as part of this update, but in the engine it is. One first improvement that is already visible is that when you now open a country map, it will not load all map pins, only those of the selected country, which is faster.Coming up next
I told you this update was boring. Yet with this update, I can implement the real improvements:
- country photos
- country species
- country parks
- country users
I'm not going to deliver those in a big bang, I will deliver them one by one. Stay tuned!
FERDY CHRISTANT - FEB 19, 2015 (08:14:57 PM)
Yesterday I was confronted with how much I depend on internet connectivity. Whilst working from home that day, at around 3PM my 7 year old cable-company-owned modem broke down completely.
In turn, this pretty much breaks down our household. I couldn't do anything for work anymore, as it is all online. I read my news online. I don't watch regular TV, I watch Netflix. I don't listen to the radio, I listen to Spotify. I can't manage my website JungleDragon, nor can I develop anything for it, as it is all online. I can't game, as that too is online. Henriette does her work online, as well as her series and casual gaming. All shutdown.
Henriette and I were joking that we rather have our heating shut down than the internet. Petty first world problems? Very much, but it gave me an opportunity to actually read a book, the above one. I had asked for it for my birthday, and now would be a great time to actually read it. So I did, and I finished it in a single night.
I've read several books on responsive web design about 2 or 3 years back, after which I applied many of those new learnings by completely redesigning JungleDragon to be responsive. That effort which took over a year, has taught me many hard lessons on the subject, so it's not a new topic for me.
However, the world of responsive design, mobile-first, and performance-tuning on the web is constantly moving. Many people struggle applying these 3 concepts in a practical approach, and that is where this book helps. Through many examples and clear writing, one is taught how to develop websites and components from the ground up to be accessible, fast and flexible, which are conditions for a user experience to work in today's web where we have an explosion of devices and ways in which those devices are used.
Whilst many of the individual topics were not new to me, some chapters offered extra depth, teaching me new things. In particular I found the chapters on performance tuning great. It has info like a performance budget, using a speed index, loading strategies that are non-blocking, all relatively fresh concepts that inspired me to learn more about it after reading this.
The writing style is clear and at times entertaining, and overall this book packs a lot of value. If many of these things are new to you, I would consider it a must-read with a lot of value. If you're a bit more seasoned in these topics, it's still a good read.
I have few critical notes on the book, but I do have a few small ones. Sometimes I think the author goes a little overboard in implementing complicated ways to support ancient browsers. It makes me wonder if the medicine isn't worse than the disease, if you know what I mean. The pattern of the book too often is, here's a problem, here...include this library to solve it. I wonder how all of that ends up in a real world big website, whether that complexity and size stays managable. Actually, I don't wonder that, because I've seen it.
Still, this is more criticism on the web itself, rather than on this book. In fact, it turns out that several useful libraries and web initiatives were once invented by this author and the group he works for. In fact, you could even say that about a dozen people on this world are doing most of the heavy lifting in moving our web forward. It's amazing how much these people give back, and this author is one of them.
To make a long story short, would I recommend this book to anyone? No, I would recommend it to everyone.
FERDY CHRISTANT - FEB 13, 2015 (09:21:20 PM)
Hereby I'm announcing update 9 of JungleDragon V4. This update is aimed at moderators and administrators, bringing new tools to make their life easier.
Photo guidance - for moderators
One of the best decisions I've ever made regarding JungleDragon is to introduce the role of moderator, whereby key members of the community are given extra powers. In addition, some maintenance tasks are shared with moderators. As a result, the community is more democratic, and the species system's data quality has improved drastically.
I care deeply about the moderators. And as I am a moderator myself, I experience both the good and the bad of it on a daily basis. With photo guidance, a new feature, I'm addressing one of such annoyances. I believe it can be a major time saver, so let's see what it is and how it works:
Above is an example photo shared on JungleDragon. There's nothing wrong with the photo itself, yet it is still useless. It has no title, description or tags, therefore it will never be found using search. It has no location info so it lacks context, and will not show up on the global wildlife map. It has no species info, so it will not show up in the wildlife browser or on any species record.
It's what we call a "photo dump". Often, the photo is shared in such a poor way due to the member being new, not aware that it is important to share with more context, or not knowing how. And this is where us moderators step in. Typically, we leave a comment explaining how to share it better, in a richer way.
The problem is that this part of educating the member is laboursome. You will find yourself typing the same long comment explaining the same concepts over and over again to different members. It's hard work, but needed.
With the brand new "Guidance" feature, this task is becoming a lot easier:
Note the new "Guidance" button next to the "Edit details" button. This button will show up if you're a moderator and opening a photo that was not uploaded by you. You will use this button in case the photo is lacking basic details. This is what happens when you click it:
A dialog appears. In this dialog, you simply check the items that are poor/lacking. As in this example photo, all info was missing, I'm selecting all three options. This is what happens next:
In the comments section, a new comment is automatically generated. It consists of 3 parts:
- A starting paragraph that is always there (basically saying "thanks for sharing, but here are some tips)
- Based on the choices you made in the dialog, 1, 2 or 3 middle paragraphs explaining the specific info that is lacking and how to set it
- An ending paragraph that is always there inviting the member to ask for additional help if needed
As you can see, the generated comment is not saved yet. This means you are free to further personalize it based on the context. Once you're happy with the comment, just save it. It's a comment like any other comment, it will appear below the photo and the photo owner will get a notification from it (if he/she has that enabled).
Detailed instructions on when and how to use this is available on a help page in the moderator panel:
Dear moderators, I hope you like this :)
Feature control - for administrators
The following is a new feature available only to administrators (basically me). With feature control, I can enable/disable important site features across the site using a simple panel:
I can think of 3 scenarios where this is useful:
- When I am deploying a complicated new feature, yet don't want to bring the entire site down, I can temporarily disable one particular feature only.
- When there is a severe technical problem in one part of the site, I can temporarily disable it to prevent further damage from occuring, giving me time to find and solve the problem.
- When JungleDragon is misused in an attack kind of way (for example a bot making bogus accounts), I can temporarily disable that feature, limiting damage and giving me time to investigate the problem.
When any of such features is disabled temporarily, it will apply to all users except for administrators. Users will see a screen like this:
The message in blue can be customized by the administrator, for example to explain the reason for the feature being disabled.
- I solved a bug where any invalid taxonomy path in the wildlife browser no longer throws a blank page.
- I changed the backgrounds of thumbnails when they do not yet have their photo loaded, which looks nicer now.
There are a lot of aspect to JungleDragon to keep the machine working. This update focuses on moderators and administrators, giving them powerful tools to have more control and to be more efficient. Ultimately this serves all users of JungleDragon, and makes our platform more robust and mature.
FERDY CHRISTANT - FEB 9, 2015 (06:04:08 PM)
Here's the 8th update of JungleDragon V4. This update is small but nevertheless important. It concerns specie introduction indicators on thumbnails. Let's explain...
The above dialog in a way sums up JungleDragon as whole: identifying species on a photo. A vital activity. You just type in the species name and hit that search button. In most cases, that is all you need to do. After a succesful identification, you are returned to your photo:
If you're a JungleDragon regular, you know that blue label in the top right corner. You made a species intro, the first person to upload and identify a photo of this species on the site. It's a big deal, gives a sense of accomplishment, and it brings out the collector in you. It's addictive. Furthermore, it is of course great for the entire site and community, as we're expanding the diversity and usefulness of the content.
Species introductions matters. For that reason, a few weeks back we also included species identification and intros on each user's profile:
(see above, all species introduced to the site by this example user).
Today, I've deployed yet one more feature that further highlights the importance of species intros:
Above is a section of the homepage. Check out the blue ribbons on the thumbnails, indicating that those photos are species intros. Zooming in for a clearer view:
These ribbons are applied to all lists of thumbnails within JungleDragon (about 20 of them), with these exceptions:
- Not on the "unidentified" list (doesn't make sense here)
- Not on the photo lists within a custom list (visually conflicts with image remove button)
- Not in your personal favorites list (visually conflicts with image remove button)
This means that species intros are now visible pretty much everywhere inside JungleDragon. So it's a small visual change, yet has a large impact, I believe.