This is my first post on here so I might not have the lingo down, go easy on me!
I've been doing a lot of personal research into website accessibility over the past few months and I've gotten a pretty good grasp of by now. There are lots of resources in that department. I can't seem to find any good resources on accessibility in the context of mobile app development be it Android, iOS, or windows.
Tl;Dr: anyone know good resources to learn accessibility in Mobile app development?
General accessibility is covered by the Web Content Accessibility Guidelines (WCAG). Most of the principals can be applied to mobile applications too.
You should also see "Mobile Accessibility: How WCAG 2.0 and Other W3C/WAI Guidelines Apply to Mobile"
Related
Although several of the projects served by Read the Docs have to do with accessibility, I can't find anything that discusses accessibility guidelines and support for the project as a whole. What resources can folks suggest?
Most projects that involve accessibility tend to follow the guidelines defined by the WCAG. Most laws about accessibility compliance tend to point to meeting a specific level of the WCAG.
This is useful for finding out about the requirements, but to learn more about accessibility, you can find a number of resources online with a simple google search. Personally, I've found a good site for introducing people to accessibility is Webaim,
There's an excellent accessibility recommendations site that covers web, mobile (iOS + android) and editorial contents (office, pdf...).
Whatever your field of development, many useful information is well detailed and some code snippets with illustrations are available to perfectly explain some concepts.
Broad, sweeping question here...
Assume you have built an enterprise level framework with some rich client in the .Net (Microsoft) sphere, with a WCF back end. Now, imagine that that enterprise framework's UI technology is being deprecated in favour of UWP.
The choices for a front end replacement basically are: UWP, Web (HTML), or some other rich client technology.
How would you go about the decision making process?
I personally lean toward a rich client where the user base is a captive user base. I mean, where the users' IT department is happy to install the necessary runtime environment on the machines, etc. This is usually not a problem with Microsoft technologies, and this won't be a problem in about 10 years when organizations roll out Windows 10.
But, people are telling me these days that web has come a long way. People are telling me that JavaScript frameworks are becoming very sophisticated, and that low level JavaScript for basic data binding and the like is mostly unnecessary.
I have really been turned off by web solutions like ASP in the past, but I do understand that technology has moved forward, and I do understand that Microsoft have been working on ASP.Net v Next which might actually be good?
The question is not so much what would you opt for? But, what factors would you take in to account to decide which platform to go for?
Opnion based answer here...
In a decision to adopt a particular tech for any project lies in many factors. I can cite two majors for your particular scenario.
1 - Client adoption. It's easy for the customers to use/install it? They need to pay some sort of license? Can it run in all platforms/devices the customer already own?
2 - Market adoption. It's easy for you co-workers to adopt it? It's hard to find/hire experienced/hardened developers? We need to pay some kind of license? Can I trust it ill be a long lived technology?
The answer to your question can be HTML.
Not only it is already got a lot of momentum in market, it ill take years to change it even if today someone (big like MS or Google) put some new (better) stuff on the table.
Also if someone on MS marketing dep say next week Universal Windows Platform or WinRT must die it ill die (like Silverlight). So Im not adopting some new technology just because some big player told me to do it.
Yes web has come a long way indeed. You can do a lot of amazing things just with JS+HTML+CSS those days. Also the right usage/architecture of it ill allow you to put your app running in PCs, Tablets and Mobiles (at a minimum cost to port between devices) and capable in running in anything can access internet.
I suggest you to catch up and learn a lot about webservices, Json, JS libraries like JQuery, Sammy and some nice stuff like Knockout, SPA, Angular, Node, etc.
Edit, answer to comments
To not start a chatty comment I'll respond here. Yes your questions and comments brings interesting questions. To let it readable for posterity both of us can edit answer and question to organize it.
Silverlight. How not love it? In special after strugling with flash. It's a shame MS pulled the plug (die in hell MS CEOs). When MS let it to die I was planning a big web app SL was my first choice. Why I changed my mind? Well 2 years to develop that app and at the end how much browser ill get along supporting it? The SL community is great, the tool is great but browsers can just say, Hey tomorrow there's no guarantee it keep working.
.Net and MS platforms. I'm a .Net developer. I adopted it since beta, first to work with winforms (in a previous life I was a proud Delphi developer). After a while started to work with web. I also worked in classical ASP (bad times) and loved .Net ASP from start.
You can run .Net apps in almost any PC in the planet today. Not exactly true for all mobiles/gadgets. For browsers pure HTML+JS+CSS ill to better because it's lightweight (done right). Also we can move a lot of thing to client side and just let it hit the server only when necessary. .Net apps can do that, sure, but ill never be light as a tailored HTML+JS+CSS.
In fact I believe you can do anything with .Net and you can do amazing things if you got a few good developers in your team. But depending on the project it ill do better (and cheaper) in HTML or PHP or Ruby or Java, etc.
In fact at a previous shop, with both PHP and .Net teams we found (after 1 year study, metrics, lots of projects) small projects are better done in PHP, larger ones in .Net (if I remember a medium project can be 4k to 6k men/hours).
The point here is. You really must read a lot about HTML, CSS, JS, SPA, Angular, etc. Bringing to live a big and shinning web app is challenging today not because what we can do (we can do anything) but how we can do. DDD, MVC, MVVM. Testing framework, etc. Man Node is the future (the concept at least).
Web developing really changed in the last years and with it the clients and users expectations. Today no one ill wait for more than 2 secs for a page to load. Everybody wants usability to be at the top of the table from project scratch. You app must be responsive, etc. (not using Dilbertian management buzz words here for the sake of it. Just stating usability is that important today).
And don't forget everyone wants it to be beatifull (from a graphical designer point of view) even if it's a dull B2B supposed to be used only by cave mens.
Even if you stick to a classical .Net app learn about the (many) options, that can bring a new wider perspective.
I have decided to answer this question here because we've had a lot more time to investigate and look at different options. The original question turned out to be a bit of a furphy. Pure UWP and Web are not the only options. There is also a Xamarin Forms as an option which includes UWP, Android, and iOS. As a personal preference, I am leaning toward using Xamarin Forms as a client instead of any other development platform because it supports three OSs out of the box: Windows 10, iOS, and Android.
I believe the answer to the question is: you should only develop a web app if you need to. Does your user base consist of people who will mostly prefer a browser over apps? Are your potential users likely to want to avoid downloading an app? Is your app very simple, and you want people to be able to dive in very quickly? Are you able to get away without access to things like the camera, location and push notifications? If you can answer yes to these things, then I think you should go for HTML 5/JavaScript. If however, your user base is comfortable downloading apps, and you think that your app will require a UI more sophisticated than most browser apps, I'd recommend looking at Xamarin Forms as the preferred option. We've had very good success with Xamarin Forms so far, and the UWP version of our Xamarin Forms app has turned out just as good as our first stab at a UWP app.
Note: I should give Web Assembly (http://webassembly.org/) an honorable mention here. This technology is being considered in all the big tech organisations like Microsoft, Apple, and Google. One day, it may make deployment of native apps in a browser great again.
Is Silverlight just basically Microsoft's version of Adobe Flash? If so, I've read over the years that Flash is very SEO unfriendly (SE bots see it as a blank page, I've been told), and some browsers don't like Flash too much. Are the same things true for Silverlight?
I just have a company website I made in Visual Studio 2010 / vb / asp.net 4.0.
Do you have to be an experienced programmer to work with Silverlight, or is there a nice GUI to help out newbies? I'm just trying to find out, now that I've downloaded 5.0, if the value of learning it is worth it. Thanks!
Silverlight is a lot of things, in summary you could say that it's a light-weight .NET run-time, a subset of WPF and a capable video player.
Silverlight brings XAML to the web, yes, but more importantly it appears that it's becoming more and more a framework for deploying rich business applications over the web, but not through the browser.
Some would probably argue that Silverlight (along with Flash) is dead, and that the HTML5 is the way forward. That might be true, under certain circumstances but Silverlight has a lot of cool data binding tricks as well as a very capable retained mode render which is very suitable for business GUIs.
I would argue that the choice wheter to invest in Silverlight as a technology or not is a question you should ask yourself, basically what's your reach? e.g. I would not develop Facebook using Silverlight because Facebook has to be everywhere. If you wanna go social, then the web is ubiquitous. But if you have a customer base that acknowledge Microsoft, and already run Windows everywhere, the kind of headway you can make with Silverlight is quite astonishing.
I urge you to look at some Silverlight demos to gain a better feel for what Silverlight has to offer. Then to build great Silverlight applications you need to invest time in learning, things like XAML and MVVM (using a lot of data binding).
Silver light is Microsoft's option or alternative to adobe flash its provides user with the feature of developing Application that are rich in UI we do have tools that enable us to develop appealing UI that is Expression Blend. SO there is lot to learn in it but talking about the future of this technology i doubt as after HTML 5.0 which enables us to get most of the features of silver-light i don't think any one will be interested to get an add on plugin to silver-light to achieve same result so its up to u if u want to learn it as some new technology its good but as a future its not that great.
SEO friendliness depends on the amount of effort your developers are ready to put into it, Silverlight and Flash both. Silverlight has a framework (Navigation) allowing deep linking that can help for instance.
The tool chain is top class, you get the arguably best IDE (Visual Studio 2010), and a cool designer friendly tool (Blend) that enables, among other things, non-code oriented development, or put the other way, a designer friendly workflow. The XAML+data binding approach is also much more productive than most of the competing alternative (personal opinion, but shared by many developers).
The value of using and of learning Silverlight both is very dependent on your company's objective and skill set. If you already have proficient .NET developers, intend to target Windows Phone or Windows 8 or even do some WPF (Windows desktop counterpart of Silverlight), the learning is either small or a good one. If you're a pure web shop, valuing multiplatform, needing iOS/Android/etc... support, you're probably better off with HTML+CSS+JS.
This may appear as a subjective question but i am asking from an technical architect point of view.
What would be your choice if you were building E-Commerce based Application to help giant companies carry out their marketing and sales campaigns. I looked into open source frameworks such as Magento that works with ZendFramework using the PHP,MySQL And Apache stack. Other basic frameworks like OSCommerce seem reasonable. Whats the leading E-Commerce framework for .Net Technologies? I also looked into Zoho and it seems like using their applications most of the requirements can be knocked off but I also feel I may face flexibility issues down the line with what they provide.
Please try to mention what architectural benefits do you see in the frameworks you know about. Thanks, as always, and its always great to hear the expert opinions on stackoverflow.
For "Giant companies" your question is formed badly and has no information to actually answer it.
For micro and middle sized companies (10 -500 persons in company) go for Magento EE or Magneto CE version and Magento optimized hosting solution
Is WML and WMLScripts are used anymore ? I remember writing WML apps with classic-asp on server-side and we used interact with phone functionality from client using WMLScript and WTAI and do some cool things like, adding phone numbers to address book, trigger a call from WMLScript and much more. I still miss those things. I really want to know if modern web-browsers on phone have replaced WML with rich HTML support.
I also found that one of the most active WML and WAP forum Openwave Developers of our time is now discontinued which is no less than a shock to me. The forum also provided a nice WAP development SDK for testing WAP gateway simulation and WAP-pages on openwave browser simulator. All of these is now not seem to be available.
BEFORE DOWN VOTING EXPLAIN WHY, IF IS JUST BECAUSE OF IGNORANCE THEN STAY AWAY.
It is not dead yet.
It is used by some POS systems such as POSWEB, I have been developing on it for years in conjunction to ASP.NET to generate dynamic WML cards or downloadable catalogs, receipts, etc.
APPI Tecnologia's POSWEB Solution
Also another similar platforms do exist such as VERIWEB which are intended for the same purpose. Also I heard about similar ported WML/WMLScript being used in compact network enabled devices such as food / groceries dispensers, traveling card machines, etc.
This implementations supports mostly of the WML/WMLScript standard however it usually integrates additional functionality (depending on the target device), such as Smart Card processing, Simetric and assimetric cryptography, flat and indexed files creation and so on.
WML is still alive and in use many modern browsers doses not supporting WML for example andoid browsers like Firefox, Chrome but Opera still support WML for mobile and for web browsers also.
WML is more friendly to old phones but xHTML MP is the future in mobile WAP sites.
I would say, it's becoming less and less common out there in the wild.
You might find the odd device coming through that only does WML, but the effort to support those few might not be your goal in which case starting at html should be OK.
The users of those older phones typically already accept that their phone isn't the best and can't do as much as other phones.
Check out 0.facebook.com! There's been some resurgence of WML interest among some companies, mine included after Facebook Zero. The idea is that much of the technology still used in the developing world utilizes old technologies like WML, and coding up modern pages in WML will increase access in the developing world.