Data, Maps, Usability, and Performance

API canvas d3 data geo GeoJSON html5 image JavaScript json maps mysql PHP WordPress

Results for tag: performance

Using MAX and CASE to pivot MySQL data stored in EAV Model

EAV to relational model pivot with mysql query

Last week, I covered pivoting tabular data in JavaScript. But, often times, data is not stored like a CSV or excel sheet in a database. When flexibility is needed to cover potential future changes, like adding many new columns or removing old ones, we often see the EAV model being used to store data.

Consider the previous example of storing car data in rows with columns: id, make, color, and age. If you are just adding more rows, this works well. But, if you will be adding an uncertain number of new columns in the future (model, size, etc), or removing columns, it might make sense to use the EAV model.
Read more

Best Mobile Frameworks and Platforms for Hybrid HTML5 Apps

mobile frameworks for building html5 apps

A while ago, I got into mobile app development using HTML5 and PhoneGap. It was a great solution to create apps for iOS and Android while coding in HTML, CSS, and JavaScript. Today, we have a lot more options in this space. There are many frameworks for building mobile applications and there are also multiple platforms that package that code into a deployable apps and even provide things like monetization, analytics, and testing. Today, I will analyze the mobile development space and go over the best mobile frameworks and cross-device platforms to build and deploy hybrid mobile applications.
Read more

HTML5 Photo Browser for Local Files and Directories

Photo Viewer and HTML5 Slideshow

Online Image Browser for Local Files

I was browsing old photo albums yesterday and it made me want to build an image viewer with HTML5. I want it to work with directories that have many files and this raises a question on browser performance. A gallery of pictures can easily consist of hundreds if not thousands of images. Loading all of them at once would probably crash the page or make it terribly slow and unresponsive. The DOM is not built to support so many elements with good speed. Plus, loading everything is wasteful as the screen size can only show a limited amount of images at one time.
Read more

WordPress on VPS with Nginx and PHP APC

wordpress on nginx

It was time to pay the yearly fee for shared hosting and I decided to check out some VPS options. Performance was not really a problem as WordPress caching plugins do a good job but I wanted more control of the stack and VPS pricing is not that far off from shared hosting. DigitalOcean plans start at 5 dollars and you get 1 Core with 512MB Memory, 20GB SSD Disk, and 1TB of Transfer. You can setup a droplet in 1 minute and you can pay month to month. No wonder they are doing so well, it makes sense to just try them out. They also have great documentation, API, and an easy to use control panel. Here are some details on how I moved my WordPress blog from shared hosting to VPS and made it really fast with Nginx, PHP APC, and Super Cache.
Read more

Web Performance Resources and Optimization Tools

WPO webperf FEO optimization

Engineers should always care about performance. Users certainly care about speed and there are many studies that show a clear correlation between website performance and business metrics. Speed is a fundamental component of user experience and it affects everything from bounce rates to SEO and all the way down to conversion and revenue. How is your website doing in terms of page speed?
Read more

Plotting GeoLocations with MapBox API

Plot Data Points with MapBox

Final Demo: UNESCO World Heritage Sites Map

After messing around with OpenLayers and D3, I wanted to create an example of plotting some data points on a MapBox World Map. The API documentation and examples look great so creating this demo should be quick and easy. The data points are geolocations that come from an external GeoJSON file and I will be using the MapBox JavaScript API to visualize the geo locations on the map. Last time I have retrieved and plotted all the IUCN landmarks and now I will focus on UNESCO world heritage sites. The UNESCO website already has these mapped but my demo will plot these heritage sites with MapBox.
Read more