March Update – Ecommerce

What is eCommerce?

Given some recent questions we have received, we thought it was time for a review of the fundamentals of eCommerce for aspiring web professionals.

Electronic commerce or eCommerce is a term for any type of business, or commercial transaction. It involves the transfer of information across the Internet. It covers a range of different types of businesses, from consumer based retail sites, through auction or music sites, to business exchanges trading goods and services between corporations. It is currently one of the most important aspects of the Internet to emerge.

This eCommerce article provides information about selling online products and also about how to develop an eCommerce strategy.

eCommerce websites

eCommerce Basics

To review the basics, one should read this article written by Ajeet Khurana an author, educator, mentor, angel investor, and speaker for eCommerce and online business.

He has given few following examples of eCommerce

  • Online Shopping
  • Electronic Payments
  • Online Auctions
  • Internet Banking
  • Online Ticketing
  • Types of Ecommerce
  • Benefits of Ecommerce
    • Mcommerce
    • Fcommerce

What are eCommerce Websites?

This cyberchimps article by Pooja Vangikar focuses on advantages and disadvantages of eCommerce. It also has information about the types of eCommerce websites.

Resources to watch and read

This week’s blog focuses on what is eCommerce, the websites, advantages and disadvantages of using those. Every week we try to deliver something new and informational. We hope you find these resources and overviews useful. We always look forward to your comments and feedback (whether you are a member or not).

If you aspire to be a web professional and don’t know where to start, we offer a number of beginning classes to our members via our School Of Web learning management system. As a member, your first class is free.

The post March Update – Ecommerce appeared first on Web Professionals.

View full post on Web Professional Minute

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

March Update – SEO and SEM

What Is SEO / Search Engine Optimization?

We thought a review of the fundamentals of search engine optimization for aspiring web professionals would be helpful this week.

SEO stands for search engine optimization. It is the process of getting traffic from the free, organic, editorial or natural search results on search engines.

All major search engines such as GoogleBing and Yahoo have primary search results, where web pages and other content such as videos or local listings are shown and ranked based on what the search engine considers most relevant to users. Payment isn’t involved, as it is with paid search ads.

This article has a short video which explains SEO. It also contents links to different SEO Guides and Books and other resources.

What Is SEM?

SEM (Search Engine Marketing) is the process of gaining website traffic by purchasing ads on search engines.

Related SEM Synonyms & Acronyms

Search Engine Marketing was once was used as an umbrella term to encompass both SEO (search engine optimization) and paid search activities. Over time, the industry has adopted the SEM acronym to refer solely to paid search.

At Search Engine Land, they generally use SEM and/or Paid Search to refer to paid listings, with the longer term of search marketing used to encompass both SEO and SEM. Below are some of the most common terms also used to refer to SEM activities:

  • Paid search ads
  • Paid search advertising
  • PPC (pay-per-click)
    • PPC (pay-per-call) – some ads, particularly those served to mobile search users, may be charged by the number of clicks that resulted in a direct call from a smartphone.
  • CPC (cost-per-click)
  • CPM (cost-per-thousand impressions)
    • Most search ads are sold on a CPC / PPC basis, but some advertising options may also be sold on a CPM basis.

Article What Is SEM & Paid Search Marketing? is a good explanation about the SEM.

What’s the Difference Between SEO and SEM?

SEO is increasing the amount of website visitors by getting the site to appear high on results returned by a search engine. SEM is considered internet marketing that increases a site’s visibility through organic search engines results and advertising. SEM includes SEO as well as other search marketing tactics.

Another article has answers to these frequently asked questions about SEO and SEM.

1.    What Is Search Engine Optimization (SEO)?

  • What Components Does SEO Include?
  • On-Page SEO
  • Off-Page SEO

2.    What Is search Engine Marketing (SEM)?

  • What Components Does SEM Include?
  • Which Marketing Tactic Is Better?
  • What Is the Main Difference Between SEO and SEM?

More articles you will want to review

This week’s blog focuses on SEO and SEM and differences between them. It also explains how you can add SEO to your sites to get more SEM. We hope you find these resources and overviews useful. We always look forward to your comments and feedbacks (whether you are a member or not).

If you aspire to be a web professional and don’t know where to start, we offer a number of beginning classes to our members via our School Of Web learning management system. As a member, your first class is free.

The post March Update – SEO and SEM appeared first on Web Professionals.

View full post on Web Professional Minute

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

March Update – CSS Animation

Animation – A simulation of movement created by displaying a series of pictures, or frames. Cartoons on television is one example of animation. Animation on computers is one of the chief ingredients of multimedia presentations. There are many software applications that enable you to create animations that you can display on a computer monitor. In this article we provide you references for CSS3 Animation without using jQuery or JavaScript. We hope you find these resources and overview useful.

What is CSS Animation?

CSS animations make it possible to animate transitions from one CSS style configuration to another.

CSS animations are made up of two basic building blocks.

  1. Keyframes – define the stages and styles of the animation.
  2. Animation Properties – assign the @keyframes to a specific CSS element and define how it is animated.

The Article CSS Animation for Beginners covers following important elements in creating CSS Animation with code.

Advantages to CSS animations over traditional script-driven animation techniques

There are three key advantages :

  1. They’re easy to use for simple animations; you can create them without even having to know JavaScript.
  2. The animations run well, even under moderate system load. Simple animations can often perform poorly in JavaScript (unless they’re well made). The rendering engine can use frame-skipping and other techniques to keep the performance as smooth as possible.
  3. Letting the browser control the animation sequence lets the browser optimize performance and efficiency by, for example, reducing the update frequency of animations running in tabs that aren’t currently visible.

The MDN web docs article, Using CSS animations, has very good examples and provides CSS code for animation. For those just getting started, we encourage you to read that article in depth.

Other Resources

  1. Animate.css is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
  2. A cross-browser library of CSS animations. As easy to use as an easy thing.
  3. Creative blog’s 18 top CSS animation examples.
  4. The Top 9 Animation Libraries for UI Designers

Just for fun, we also recently encountered this CSS pun site. Very creative approach (and yes, CSS animations are employed in some of the examples). We thought those teaching aspiring web professionals might be able to use many of these examples.

We always look forward to your comments and feedback (whether you are a member or not).

If you aspire to be a web professional and don’t know where to start, we offer a number of beginning classes to our members via our School Of Web learning management system. We even offer a specific class on CSS animation. As a member, your first class is free.





The post March Update – CSS Animation appeared first on Web Professionals.

View full post on Web Professional Minute

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Ink-trap development

Sometimes you see things that look a bit off and it makes you feel uneasy. When something challenges your sense of quality and what appears well-made. Like the following font:

Bell centennial demo

This doesn’t look good, and it doesn’t look right. It feels like someone didn’t quite finish it or didn’t know how to use tools. Or – even worse – didn’t use the right tools for the job. This font, for example, looks like my first attempts to get my head around vectors in Photoshop. Not a memory I cherish.

In the case of this font, though, nothing of this applies. What you see here is Bell Centennial by Matthew Carter, a well-regarded font expert. It is a font that has seen a massive amount of use.

You may not recall ever seeing it, but here’s the deal: Bell Centennial was the font used in AT&T phonebooks. The weird missing parts of the letters in it are so called “Ink Traps”. The genius of the ink trap is that it makes the font work when applied in its natural environment.


Phone books shouldn’t cost much to print, which is why they use cheap paper. They also are big and should use small fonts, allowing for more content in fewer pages. In essence, the implementation phase of the project phone book tried to cut corners. Staying as cheap as possible.

This is where the ink traps come in. Ink bleeds out on cheap paper and blurs the letters. A font with no spaces can thus become unreadable. Not so Bell Centennial. On the contrary – it gets better and more legible when printed. The ink traps fill with ink and make the weirdness of the font go away.

M in design and in print

Bell Centennial in use

I like this approach a lot. There is a lot of merit in creating something and assuming a flawed implementation. As they all are in one way or another. By leaving things out to become available later – or not at all – we can concentrate on what’s important. A solid base that may not be perfect, but will not expect the implementer to do everything right, either.

Because they never do. In twenty years in this industry I’ve never seen a project get out the door the way we planned it to. It was even more common to see projects getting cancelled halfway through. And not only waterfall projects. Even the safeguard of the Agile Manifesto keeps failing.

In-build failure obscured just enough to make money

When I worked for an agency in the B2B space this seems to be even a common theme. Get the project, make sure you have a nice round sum in the contract that you have to pay in case you fail. Then pad the project with lots of unnecessary but expensive heads in the early stages. Bill all those to the client. Mess up and pay the fine when everything goes pear-shaped, leaving you with a nice profit.

We want to build for the future…

As a technical person, these projects were frustrating to work on. We’re lazy. We don’t want to do the same things over and over again. We want to do something and then automate it. We are all about making sure what we do is maintainable, extensible and follows standards. Because that makes outcomes predictable. For years we’ve been preaching that our code should be cleaner. It shouldn’t make assumptions. It should allow for erroneous data coming in and trying to fix it. It should be generic, not specific. We preach all this to avoid unpleasant surprises in the future.

Future imperfect

And yet, I have a hard time remembering when projects that we put so much effort in ever became a reality. They got out, yes, but somewhere along the way someone cut corners. And what is now live was never something I was particularly proud of. Other projects, that appeared rushed and made me feel dirty got out and flourish. Often they also vanished soon after, and oddly enough, the sky didn’t fall on our heads. Nobody missed them. They’ve done their job and overstayed their welcome. It was wasted effort to make them scale to forever and try to predict all the future needs. As there was no future for them. It is easier to fold and restart a software project than to dismantle and change a physical product. That’s the beauty of software. That’s what makes it soft.

I’ve hardly ever seen rewards of the hard work of making products maintainable in a clean manner. I am not saying they don’t make sense. I am saying that far too often, something got in the way. Something I had no control over. Often things I didn’t even hear about until things went pear-shaped:

  • Our well-thought-out design system hardly ever evolved with the product. Instead redesigns would wipe them out completely. Or the product would move to another CMS or backend. Out of a sudden this brought new limitations incompatible with the original design.
  • Our clean, accessible and semantic templates have a similar fate. Tossed around a few cycles of maintenance someone will have removed or warped the goodness we added upfront. Audits will flag this up, but with no immediate repercussions the invalid bits will end up on the backlog. There’s new things to add, after all.

New toys with new battery requirements

A common scenario is new product owners trying to make their mark by bringing the new tech hotness. Hotness they don’t understand and don’t hire able people for. Instead, it means starting new and following the “best practices” of the new hotness. What works for Facebook will also scale and apply to this internal payroll system, right?

Is failure a given? Maybe…

I’m sorry if this sounds bleak, but this seems to be a good time to re-consider what we are doing. We had a few decades of computers turning from a tool for scientists to them becoming an integral part of life. And this means we need to level up our game. This is not a cool tech thing to play with. This is a integral part of life. People’s identities, freedom, security, safety and happiness are dependent on it.

Broken toys

The quality of what we rely on isn’t that encouraging. If anything, a lot of the sins of the past now come to light – even on a processor level. We built a lot of spur-of-the-moment, good-enough things and hoped nobody looks closer. Well, the bad players of the market seem to be the ones looking and taking advantage.

When in the past we hid odd code in obscure byte code we now create huge dependency chains and lots of components. Components easy to re-use. Components not under the scrutiny of any quality assurance or security audits. Instead we rely on the wisdom of the masses and the open source community.

This would work, if the OSS world hadn’t exploded in the recent years. And if we didn’t tell newcomers to “not worry” and “just use what is there” to be more effective. We’re chasing our tail trying to be more effective and creating a lot with not much code. We move further and further away from the implementers and maintainers of our code. That’s what abstraction offers. Nobody likes maintenance. But it is probably the most important part there is. Any non-maintained project is a potential attack vector.

We forget that someone, somewhere needs to ensure that what we do doesn’t become a security nightmare. Instead, we create tools that check existing solutions for problems after the fact. This is a good measure, but it kind of feels self-serving. It also assumes that companies care to use these tools. And how they use it.

Case study: when the law required accessibility

I remember accessibility going through the same motions. When being accessible to people with impaired abilities became a legal need, people started to care. They didn’t care enough to look into their process of creating accessible products, as in – start with a sensible baseline. They didn’t want to understand the needs. They wanted to know how not to get sued. They bought a tool to check what’s obviously broken. They displayed a “Bobby Approved” or WCAG-AAA compliant banner on their web sites. They achieved that by adding alternative text like “image” to images. Satisfying the testing tool instead of creating benefit to visually impaired users.

This enraged the purists (including me) as it showed that people didn’t understand why we wanted things to be accessible. So we ranted and shone bright lights at their mistakes to shame people into doing the right thing. The net effect was that people stopped reaching out to experts when it came to accessibility. Instead they hired third party vendors to care on their behalf and build the thing needed to not get sued.

A lack of shared responsibility

It makes you wonder if we are trying too hard. If the current messy state of affairs in the whole of IT is based on a lack of shared responsibilities. Communication doesn’t help if it only states “don’t worry, it works”. An “of course our product will scale with you” is worrying without any shared ownership of the “how”. There is a disconnect between what we build and who maintains and uses it that leaves everyone involved disappointed.

This is tough to swallow and does rattle a few basic pillars of how we make money in the IT world. We build products and frameworks that enable people to do their jobs. We don’t want them to mess with the products though, so they become very generic. Generic solutions are less likely to give an optimised experience. They also are less likely to result in performant solutions catered to the current need. We throw in the kitchen sink and the plumbing and wonder why people run out of space. And we get angry when they start fiddling with the wrong pipes or don’t fix those that leak as long as the water runs.

Many products are terrible, but everyone involved didn’t do anything wrong

We’re quick to complain about users not doing things right. But we also never cared much about how people use our products. We hand this task over to the UX people, the trainers, the help desk and the maintenance staff. It is easy to complain about systems we have to use and wonder how on earth these things happened. The reason is simple: we created generic solutions and tweaked the output. We didn’t remove any extra features, but made them options to turn on and off instead. Many of our solutions are like a car with five steering wheels in different sizes. We expect the drivers to pick the right one and get cross when they’re confused.

Ink-trap development?

Maybe this is a good time to reflect and consider an approach like Matthew Carter did. We know that things will go wrong and that the end product is not perfect. So we optimise for that scenario instead of offering a huge, generic solution and hope people only use what they need. Maybe coding isn’t for a small, elite group to deliver interfaces to people. Maybe we need to have more involvement all the way from design to use of our products and we will create what is needed. This means that a lot more development would be in-house rather than buying or using generic solutions. Sure, this will be much more boring for us. But maybe not trying to predict all the use cases people might use our products for will give us more time to have a life outside of our work.

Working in IT isn’t an odditiy any longer, it is one of the few growing job markets. Maybe this means we have to dial back our ambitions to change the world by building things people don’t have to understand. Instead, we could try to build products based on communication upwards and sideways. And not those that only get feedback from user testing sessions once in a blue moon. People are messy. Software won’t change that. But it could give people ways to mess up without opening a whole can of worms by sticking to features people really need and use. We can always expand later, can’t we?

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Twitter testing out a new “consequences” button? Not really…

I just had an interesting experience after adding a German SIM card to my phone. The Android version I have told the phone to automatically switch all apps into a German mode. This can be handy, but I found it annoying.

Where it got really odd is in the Twitter Lite PWA-ish app. As it runs in a Chrome WebView the browser tries to be extra helpful and translates the interface back to English. That way I ended up with a “consequences” button, which made me do a double-take:

Twitter with a new consequences button

I thought it is a new way to deal with lots of answers and that you can vote answers up and down. I also was impressed that now tweets can like people, but no. “Follow” in German is “Folgen. And as a noun instead of a verb, “Folgen” in German are “Consequences” in English.

One more thing to worry about when a webview gets too clever for its own good.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

February Updates – Mobile and Responsive Design

We thought it would be helpful to review the fundamentals of web design for aspiring web professionals in this article.

Responsive Web design is a Web design approach aimed at crafting sites to provide an optimal viewing experience. This is also aimed for easy reading and navigation with a minimum of resizing, panning, and scrolling across a wide range of devices.

What Is Mobile Responsive Design?

When a website is responsive, the layout and/or content responds or adapts based on the size of screen they are presented on. A responsive website automatically changes to fit the device you’re reading it on. Typically there have been four general screen sizes that responsive design has been aimed at: the widescreen desktop monitor, the smaller desktop or laptop, the tablet and the mobile phone.



Josh Byers 2012 article – A Beginner’s Guide to Mobile Responsive Design – StudioPress has examples given as the screen gets smaller, the content shifts and changes to the best display for each screen. This article also has more detailed information about

  • Why Should I Care About Mobile Responsive Design? These days we need to think of mobile first.
  • We first need to optimize the layout of the content.
  • Next, we need to adapt the content that is shown (and only show content that is really needed).
  • It has been amazingly easy to create a mobile responsive website for some time.

Why Responsive Images?

In article Responsive images by MDN Web Docs we can learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools HTML provides to help implement them.

It also has a detail overview of

  • How do you create responsive images?
  • Resolution switching: Different sizes
  • Useful developer tools
  • Resolution switching: Same size, different resolutions
  • Art direction
  • Active learning: Implementing your own responsive images

Why Responsive Design?

Use of responsive web design is highly recommended because it

  • Makes it easier for users to share and link to your content with a single URL.
  • Helps Google’s algorithms accurately assign indexing properties to the page rather than needing to signal the existence of corresponding desktop/mobile pages.
  • Requires less engineering time to maintain multiple pages for the same content.
  • Reduces the possibility of the common mistakes that affect mobile sites.
  • Requires no redirection for users to have a device-optimized view, which reduces load time. Also, user agent-based redirection is error-prone and can degrade your site’s user experience (see Pitfalls when detecting user agents” section for details).
  • Saves resources when Googlebot crawls your site. For responsive web design pages, a single Googlebot user agent only needs to crawl your page once, rather than crawling multiple times with different Googlebot user agents to retrieve all versions of the content. This improvement in crawling efficiency can indirectly help Google index more of your site’s content and keep it appropriately fresh.

Google provides many more details in this article.

Other Resources which may be helpful

We always try to deliver something new in our Web professional’s world. Also we hope you find these overviews useful and always look forward to your comments and feedback (whether you are a member or not).

If you aspire to be a web professional and don’t know where to start, we offer a number of beginning classes to our members via our School Of Web. As a member, your first class is free.


The post February Updates – Mobile and Responsive Design appeared first on Web Professionals.

View full post on Web Professional Minute

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Don’t pay me to speak – share instead

No money

I just made an announcement on Twitter on something I’ve been doing for a while. Something I’d love more people with the same privilege as I enjoy doing:

It is a wonderful situation to be in a full-time employment and get the chance to present at events. It also is a tricky one. Your work contract often doesn’t allow any extra income. And even if that is the case, you need to deal with taxes and paperwork coming from that. You also don’t want to be the person taking a speaking slot away from someone who does it for a living and is great at it. Or someone who starts out and needs the pay to be able to afford it in the first place. You also don’t want to be a speaker because you are a freebie for the conference organisers.

Conference organisers are under a lot of pressure these days. They are rightfully asked to offer a diverse line-up and be open to lots of people to attend. Elitism and gatherings of the privileged are things to avoid. Sometimes it is hard for a small to medium conference to budget for that. It is not enough to offer free tickets. Often people who could benefit from an event and bring a different point of view can’t even afford getting there.

To help making this easier, I’ve been forfeiting my speaker fees for quite a while. Instead I ask conference organisers to put the money into efforts that bring people who can’t afford it to the event. It means no paperwork for me, no worries about annoying my employer and yet it means I am not a freebie presenter.

I hope that this helps a bit making what we have here even better than it is now. Thanks to all the conference organisers who put effort into this.

Photo by Neubie

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

February security review

We are now midway through the second month of the new year. This should be a good time for web professionals to review and update their individual security practices. Do your daily practices keep you secure? Are you certain? It is easy to to become complacent with our practices, credentials and equipment. This might be a good time to review individual security fundamentals.

Is it time to review your security practices?

We have all seen the examples where passwords are taped to a monitor or under a keyboard. We know not to do that. But do we periodically stop to consider our daily practices and how they affect security? This might be a good time to ask ourselves the following questions…

Best practices

With respect to passwords – are yours long and complex? Do you use passphrases? Are they impossible to guess? Do you use a different password on each site? Do you keep your passwords in a vault? Do you change your passwords from time to time?

Do you use two factor authentication (because passwords alone are no longer enough)?

When you are traveling – do you use a VPN (if you must connect to a public network – such as a hotel or airport)? Do you keep your phone and tablet backed up? Do you have the ability to track a device (in the event you lose it)? Do you have the ability to remotely wipe said device (again if it is lost or stolen)?

Do you routinely update your applications and operating system? Do you do this on your phone and tablet as well?

Additionally, do you do a factory reset on devices before you dispose of them (or recycle them)? Do you confirm that all data has really been erased from the device?

Hopefully you have been able to answer in the affirmative to all the above questions. If not, this might be a good time to rethink your practices. This also might be a good time to discuss these topics with colleagues and clients.


We have found the following resources helpful (you might want to share some of these with your colleagues and clients as well). All are links to the SANS website. I am a reviewer of their OUCH newsletter. These are provided because they can also be easily shared with colleagues and clients. Hopefully you find them useful.

What other security practices do you employ periodically? Care to share stories of “best practices” and how they helped (either personally or a client)?

As always, we look forward to your comments.

Best always,
Mark DuBois
Executive Director and Community Evangelist

The post February security review appeared first on Web Professionals.

View full post on Web Professional Minute

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Presenting about the P in PWA at Awwwards Berlin

Last Friday I presented about Progressive Web Apps (PWA) at the awwwards conference in Berlin.

I was pretty lucky as @DasSurma also covered the same topic later in the evening with a more WordPress focused approach.

I am sorry that I couldn’t stay for the whole event, but we got booted out by security as my partner and me had brought our dog. We had asked upfront but there was a miscommunication between the organisers and the event staff. So we had to leave early.

The talk I gave was “Minding the P in PWA” and I covered the idea that we talk too much about the nuts and bolts of PWAs instead of seeing their benefits.

The slides are available at SlideShare

I am pretty sure that awwwards will soon release the video. Until then you can also watch the longer version of this talk at Skillsmatter which I gave last month at the London PWA Meetup.

The resources I covered:

  • What the web can do – a dashboard of extended features of the web like sensor access checking if your current browser supports it or not
  • Mozilla ServiceWorker Cookbook – recipes of different ways to use ServiceWorkers.
  • Google Workbox – an abstraction library to ease the work with the moving ServiceWorker spec
  • Google Lighthouse – an audit extension to the Chrome developer tools that lints and checks the quality of a PWA opened in the browser
  • PWA Builder – an open source project by Microsoft that allows you to pre-seed a manifest from an existing URL and create a ServiceWorker for you. You enter a URL, and you get a PWA and binary fallbacks for the PWA in the end.
  • Details on the support for ServiceWorkers and WebManifest in Apple Safari/Webkit – including some interesting facts about how Safari deals with defunct and old caches
  • PWA Stats – a resource by Cloud Four showcasing PWA success stories. This is great if you need to convince business owners to go the PWA route
  • PWA on Windows 10 – an in-depth article showing what Windows 10 offers to PWAs, including Service Worker support in Edge and web indexing of PWAs and automatic ingestion into the Windows store. There’s also a great tweet by @kirupa, showing “what a PWA would look like on Windows 10:

Again sorry for having to bail early, please don’t hesitate to contact me if you have more PWA questions.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)