I am trying to determine from the attached Google Analytics stats which spans over the last year, whether my company's website is getting alot of use on browsers like IE8.
I am unsure how to read/analyse this data as to whether e.g IE8 11.20% is a high number?
Reason being I would like to use some new technology to build a new site for my company possibly using an AngularJS Wordpress Theme w/ WP API, multi-site network where I can reuse some of the post data through API.
Some of the outcomes I am looking for are:
- Performance
- Reuse-ability
- Modular (for maintainability)
- Partials to manage content/routes
I have built a skeleton AnJS, WP, WPAPI theme through doing tutorials and tried a bunch of shims/workarounds for a couple of days for IE8 but no luck.
Other factors like "compatibility mode" of users browser - not sure how this plays a part? e.g (X-UA-Compatible content=IE=edge) for default rendering.
Target audience there is some oldschool older customers using site who may be a bit computer illiterate..so not sure if I try cater for them too or forcing them to upgrade their browser...
I want to see if I have a valid case and how it would be beneficial, so I don't have to screw around with IE8 hacks.
I am considering other options as your standalone WP theme or WP w/jQuery/ajax calls - this could be a better option if the stats aren't justified.
Thanks your feedback is much appreciated!
49.34% of your users use Internet Explorer.
11,2% of them use IE8 and 15,95% use IE7.
So 0.4964*(11.2+15.68)=13.4% of your audience use IE8 and lower.
If you drop support of IE8 you'll make your site unavailable for 13% of your audience.
It's relatively high percent and it means that your audience is relatively conservative and don't use modern software.
Hi thank you for your responses. I have decided to develop with modern technology as I have seen the analytics over the last 3 years. 29% in 2012-2013, 20% in 2013-14 and now 13.4% as you have stated. So I am anticipating the future..next year its inevitable that it will drop off again. Will provide fallback option for visitors to view the old website and a message to upgrade their browser. This is where the industry is going IE9+ with graceful degradation. Microsoft is also slashing support for IE8 (security and technical) from Jan 2016 which will mean that companies will most likely be updating their security policies to latest IE in not so distant future.
Related
I just lauched a website http://www.dicorico.com running on AngularJS and Django for the back-end. The performances of Google Page Speed insight are not great and my Google anaytics indicates a page loading time under Chrome of 10 sec on average since launch on 22nd of October ... I'd like to identify the issue and have no clue where to start looking. Your help would be much appreciated.
Note, the app uses http://www.michaelbromley.co.uk/blog/171/enable-rich-social-sharing-in-your-angularjs-app to render HTML so that the content is crawlable by google.
Thanks,
Laurent
You need to first exclude the fact that it's your code that made the performance suffers. To debug the performance of django projects, use django-debug-toolbar in your dev environment.
There are too many other facts that could also slow down your website, the instance you use might not be performant enough to handle the traffic, or you are doing some backend process in crontab that eats up the resource, or your database is not optimized, or you simply didn't configure web server correctly, etc.
You might need to login into the box and check the memory/cpu/disk usage to determine where the bottleneck is, then try to improve that. There's no straight answer for that, hope it helps.
To my surprise I couldn't find a short and clear answer for this question.
Is WAP/WML still relevant for todays mobile web/app development?
Regards,
Milanko
WML is obsolete, and only used by a very small (<5%, maybe less) of active mobile devices. WAP 1.0 is similarly obsolete, but WAP 2.0 is still very much alive and kicking. 2.0 specifies XHTML Mobile Profile as its markup, which is a cut down version of full XHTML.
Crudely put, WAP 2.0 is really just a specified combo of HTTP and XHTML Mobile Profile.
You can forget WML, though, unless you really need to support Nokia 7110-type phones still.
Generally, users with WML devices, e.g. older devices, usually accept that they cannot have the same things that other devices with color screens etc can and their expectations are lower.
So you will not be missing out on users that actively expect your site to work on their device. If you do support them, then it's an added advantage, but other requirements will probably force them to upgrade their device as soon as they can.
i'm working on drupal community site and i want to ask about this things :
1 - how to hide the drupal information from my site ?
2 - how to make the drupal site more secure ?
3 - how to make my site work as fast as possible when there is a lot of visitors and users on the site
and there is a lot of interaction with the database at the same time?
4 - how to configure drupal to work with high server load and how to configure my server's hardware to work with high load ?
thank you
1 - how to hide the drupal information
from my site ?
What information? You can show/hide anything in your theme implementation
2 - how to make the drupal site more
secure ?
Stay up to date.
3 - how to make my site work as fast
as possible when there is a lot of
visitors and users on the site and
there is a lot of interaction with the
database at the same time?
4 - how to configure drupal to work
with high server load and how to
configure my server's hardware to work
with high load ?
Start with the pantheon project use it and learn from it:
Pressflow (a performance tuned version of Drupal)
Varnish Reverse Proxy Cache for anonymous users
APC for OpCode Caching
Memcached for easing the load on the DB
Use as few modules as possible.
The first area to need help in a social setup (lotsa logged in users posting content) is likely going to be the DB and so learning how to use Memcached will go a long way to helping you scale at the start
For further reading on Drupal Performance you might want to read everything from 2bits:
http://2bits.com/contents/articles
1 - how to hide the drupal information from my site ?
Remove the credits block.
Use template files, so that the look and feel is different from default Drupal sites.
Optimise your jss and css, so that it is difficult to identify that it is from Drupal.
Remove changelog.txt file from root.
2 - how to make the drupal site more secure ?
Have the latest stable version of Drupal and keep all your modules upto date. (Regularly check for security patches if there are no updates)
Install security review module
Theme is the weakest link in Drupal security. While theming make sure that you follow all the Drupal standards. Remember to sanitize data and use Drupal functions wherever possible.
3 - how to make my site work as fast as possible when there is a lot of visitors and users on the site and there is a lot of interaction with the database at the same time?
Memcache : high-performance, distributed memory object caching system. Eases the load on DB
Intelligent use of cache API in your custom modules.
4 - how to configure drupal to work with high server load and how to configure my server's hardware to work with high load ?
CDN : Content delivery Network, use this if you are rich enough.
Press Flow : Out of box performance for your Drupal site, from Four Kitchens.
Varnish : Reverse Proxy Cache
Try using Pantheons hosting service at: http://getpantheon.com/
We are using it, and are very happy with it so far.
1: Don't bother.
2: Make sure you keep your Drupal installation (including third-party modules) up to date.
3 and 4: Caching is a good step to take. Drupal comes with some handy caching features built-in (in the Performance settings), and modules like CacheRouter and Boost take you a long way further.
1 - What information exactly do you want to hide?
3 - Use the Devel modules to see what's happening. There's a lot of tweaking invovled here, especially if your using Views.
4 - Cache modules such as boost do a lot. Then there are things such as the web server, Nginx for example is generally faster then Apache, especially serving static content (and PHP-FPM for dynamic). You should also check out Memcached, APC or another php cache and of course Varnish cache is pretty awesome.
I saw above you mentioning making Drupal working with more than one databases. If you mean replications, I think that's directly covered in Pressflow's introduction here.
I just heard that a company I do work for may be bringing in the Pyxis Mobile application development system. When I google it most of what I find is from the company's web site and that is not very informative from a geek perspective. Can any one shed some light on what sort of programming environment it is and what programing language is involved (please let there be a text based language). Any additional information would be great.
Note: the company/product changed their name to Verivo in January.
Full Disclosure - I work as an engineer at Pyxis Mobile. However, I have been in the mobile space for 7+ years and have evaluated several approaches to mobile so hopefully this is helpful.
Pyxis Mobile provides a set of tools and components to build cross platform mobile applications. Let me outline them first.
1. Application Studio - All application development, backend integration, user provisioning and application maintenance/debugging is done w/in this tool. Application Studio (for now) is a Windows based desktop app.
2. Application Clients - Pyxis Mobile provides native client runtimes for iPhone, iPad, BlackBerry, and Android devices. These runtimes get branded for the customer through a build service and are primed to point to a specific Application Server URL.
3. Application Server - Pyxis Mobile App Server runs on the .NET stack (on IIS). All client communication is proxied via this server. This server is able to connect to varied of backend systems (via the Plugin Framework listed below) and respond to the client in a mobile optimized manner. This server needs a SQL Server (2005 or newer) for configuration access, session management, logging and more.
4. Plugin Framework - The Plugin Framework is a backend component that provides system specific pre-built access to several of the enterprise and cloud based systems (Oracle, Siebel, SAP, Salesforce.com, social feeds, REST/SOAP web services, etc.) and also offers an API layer in .NET and Python (using IronPython) to allow even further customization. A plugin is essentially comprised of one or more DLLs or a Python file. These assets are then dynamically loaded to normalize communication between Pyxis Mobile and the customers' backend systems.
5. Push Services - This provides a cross-platform push layer that can poll a backend system for change and alert a mobile device via BlackBerry Push, Apple Push Notification Services (APNS) or Android's Cloud to Deice Messaging (C2DM).
6. OverWatch Analytics - This is an optional (but included) component to track users/devices and provide integrated analytics on what the users are using and what kind of devices and locales makes up your users.
The application itself is "coded" via configuration that is build in App Studio. Pyxis Mobile abstracts away from the code so that you can work at a higher level without having to worry about the wide array of device variances (GPS, touch screens, camera, accelerometer, push, screen resolution, etc.). You can drag fields onto a from, connect screens via menus or buttons, set up caching rules and more in this graphical utility. This configuration (essentially think of an XML like document) is interpreted by the native client layer to produce a rich application. There is also a scripting layer in Lua that allows to really customize behavior via code.
The real value of Pyxis Mobile comes up when you have change to make. The clients check for new configuration at app startup or if the server forces the client to get new configuration. This gives you great agility. Lets say once your application is deployed you want start using the swipe gesture to go next/prev through a set of records. This change on other platforms would mean writing some platform specific code to trap and interpret the swipe to perform a navigation (you couldn't trap a swipe on a non-touch screen). However, in Pyxis Mobile this is a simple configuration change that can be quickly deployed to the App Server and the clients automatically download and use the new configuration. No compilation, no redeployment or re-download for the end users.
I could keep going, but hope this provides some level of guidance.
Beware of Pyxis Mobile. While many of the things they say do work, there are some serious platform issues (as a geek) which I've experienced.
1) No version control system process. The Application studio can basically only be developed on by one person at a time or you risk having your changes overwritten by a fellow developer. The "principle of last save" is very much in play.
2) No unit test coverage. This isn't the biggest issue for a lot of people, but it's a concern for anyone who wants to work in the Enterprise world.
3) The middleware server gets you some value, but it's also a PITA to work with. There is no concept of "client side storage" unless you consider the middleware server the client side. If your phone goes out of coverage, your app won't work. Again, this might not be an issue for you.
4) The application has no true scripting language to work with. The middleware server allows you to intercept requests and responses and modify what you're doing there, but it's not the most elegant solution considering that a native application can have something as simple as "if this then X else Y." This can be accomplished with Pyxis, but the whole process is convoluted and more complicated than one would think it needs to be.
5) Lack of documentation. There's some training guides and the GUI is easy enough to get around for simple apps; however, when you need to do something with guts, you're left relying on Pyxis professional services. There's really no developer community to pose questions to.
I have more complaints, but they are more opinion oriented than Q/A oriented.
I just got note about the most recent comments. I don't want to turn this into a thread of back and forth, but did want to throw a couple of quick notes.
Regarding the points on version control and documentation/developer community - no big contest there. We are definitely working on these shortcommings. We have some basic pieces in place, but we have big plans to focus on this.
Regarding unit testing - we provide a very open interface to our middleware and backend components and they can be very easily unit tested with a bit of instrumentation. We run a ton of unit and integration tests internally. However, mobile unit testing is extremely difficult to get right. We'll investigate this further.
Regarding #4 around middleware and offline capabilities - things are a lot different now. With version 7.1, 7.2 and 7.3 our products have increasing become more capabale offline and now features a secure local database if necessary. I can provide more details as necessary, but you can certainly login and operate the app even if you are out of coverage for weeks at a time!
Regarding #5, we've had a scripting engine for over 2 years. Its Lua based and its actually quite powerful and fast. It was BlackBerry only till the most recent release. Given Apple's change of stance on allowing scripting we now allow scripting on BlackBerry, iPad, iPhone and Android as well now!
#RockMeetHardplace - feel free to reach out to me directly and I'll be happy to give you more detailed live demos of our latest platform. I am at - arunSPAMNOTatpyxismobiledotcom (drop the "SPAMNOT" and replace the at and dot). I happen to be the Director of Software and interested in knowing more about the issues you had.
I would like to start developing mobile-friendly versions of websites for my clients, however, I am baffled with options and google search wasn't very helpful - there is so many options and opinions, I've been reading for few days now and still have no idea how to start.
What's your opinion/experience about/with it?
My main points:
mobile devices supported (in order of relevance): iPhone 3G, iPhone 2G, Blackberry, Droid powered mobiles, other
phone friendly numbers, phone friendly emails
contact/register form working on each (or the most possible) devices listed
jQTouch seems superb (simple, quick, working), I'm not sure about it on blackberry/droid and I don't want to create 6 web versions for each mobile device - Makes even less sense if you consider, that I'm starting with small web (6-10 pages, 1 contact form, 3 register forms) to play with.
Thank you
my 2c;
the best approach is the one we use on the web as we know it; cross-browser development.
use (basic) html & css to start with (ensuring you'll reach as many handsets as possible) & progressively enhance by adding more complex stuff (javascript & more specific css) for more advanced devices.
jqtouch (which has to be combined with jquery if i'm not mistaking) is swell, but very much iphone-centric (some of the nifty css-stuff doesn't work anywhere else). a (slightly) more cross-platform js-framework is the jquery-like xui.
once you have something up and running, testing it on mobi.ready might be a good idea.
Have you heard of NetBiscuits?
http://www.netbiscuits.com/
Check out the mobiforge site, which is run by dotMobi. They have a very powerful tool called ready.mobi which you can use to get a health check on your mobile site. The results give advice on what you need to do to improve your site, so getting a really well optimised site is simply a case of testing and taking note of the recommendations. Mine now get 5/5 scores as a result of using it and work really well on any device, including many I never really tested it under. I can't recommend it enough.
Mobile Devices: See QuirksMode.org for charts, tutorials, and more to get your pages working on multiple mobile browsers. (Blackberry might be the hardest on your list)
Phone friendly links: Not sure why this would be difficult, as far as I am aware, all mobile browsers/OS's support the same mailto: protocol that desktops use. Most phones also support tel: so you can have links like:
Call Me
The only issue there is desktop computers generally don't have a way to handle that standard despite being able to link with Bluetooth phones. (Feature request for those in OS development)
Contact/Register Forms: Again, most mobile browser support basic form elements out of the box, the key here is more user experience. Anything you can do to reduce the amount of data entry will lead to more users filling out the form. (Remember the user's session info for a long time, they will go back to the page after they finish the 2 hour call from their mother)
I'd suggest going with a responsive framework like zurb or bootstrap. If you stick with what the frameworks have, you can have one codebase of the site that works in mobile browsers also.