Programming & IT Tricks . Theme images by MichaelJay. Powered by Blogger.

Copyright

Facebook

Post Top Ad

Search This Blog

Post Top Ad

Responsive Ads Here

Archive

Post Top Ad

Contact


Editors Picks

Follow us

Post Top Ad

Fashion

Music

News

Sports

Food

Technology

Featured

Videos

Fashion

Technology

Fashion

Label

Translate

About

Translate

Sponsor

test

Weekly

Comments

Recent

Connect With us

Over 600,000+ Readers Get fresh content from FastBlog

About

Showing posts with label Technology Trends. Show all posts
Showing posts with label Technology Trends. Show all posts

Monday, August 27, 2018

How Safe Is Healthcare Technology ?

How Safe Is Healthcare Technology From Hackers?

Source: Mass Device
Healthcare technology is evolving more and more each day, with blockchain, telemedicine and 3D printers being used by medical professionals around the country. But one question still remains to be answered: Can this technology be hacked into? If so, that could mean dangerous consequences for medical records, and sensitive information could be compromised. Throughout this article, we’ll examine how security can potentially be threatened by this technology and give tips on how organizations can ensure their information is secure.

Can 3D Printers Be Hacked?

While 3D printing can sometimes take several hours and be extremely difficult when designing products, this hasn’t stopped industries from utilizing it to the best of its abilities. Several companies such as Adidas and GE are using 3D printing to advance production and manufacturing. Using digital files, 3D printers can produce a plethora of three-dimensional solid objects.
Hospitals are taking advantage of this technology to make historic strides in the healthcare industry. 3D printing is creating innovations in the field of radiology, a science helping to diagnose and treat diseases using medical imaging technology. According to the University of Cincinnati, “3D printing is just now come into style across the radiology realm, as professionals can leverage it for educational, research and other purposes.
But are 3D printers completely safe from hackers? As Harvard Business Review points out, closed systems have dominated the 3D printing industry within the last 10 years. This means 3D printers can only be accessed with the manufacturer’s resin and software. But several companies are shifting to a more open system, which allows for many advantages but also threatens security. “Once introduced into an open environment, a virus can spread faster through multiple parties and flows of information than in a closed system,” Harvard Business Review said.
Hackers often target individuals through shutting down servers, corrupting data and breaking into computer databases, but 3D printing takes the possibilities of hacking to new and frightening levels. By corrupting a 3D printer file, hackers can cause product failures and trigger injuries, product recalls and litigations. Researchers across the country are now figuring out ways to combat these cyberattacks and one method of prevention could be as simple as listening to what sounds the 3D printer makes.

Can Blockchain Be Hacked?

Blockchain, which helps keep track of transactions within machines, is already being used by a variety of different industries in groundbreaking ways. From insurance agencies to record companies, blockchain technology is revolutionizing the way industries store and track data. Medical professionals are able to manage data and conduct research more effectively by using blockchain technology. There is even blockchain technology with the ability to track the degree of cleanliness in hospitals by monitoring hand hygiene.
With blockchain networks being used by so many different organizations around the world, do we know whether or not it’s safe from hackers? Blockchain technology is indeed vulnerable to hackers, and there are many avenues within these systems where hackers can strike. Users of blockchain networks are given private keys, which are used to sign account transactions, and if hackers receive access to it, they could potentially steal information and corrupt data. The security of a blockchain platform can be compromised through software errors as well, which occur during the development of software implementation.
Blockchain technology is as susceptible to hackers as any other systems and users need to have the skills necessary to protect themselves from cyber-attacks. There are several apps that can help prevent cyber-attacks in blockchain networks such as Civic, which prevents identities from being stolen, and Biometrics.io, which uses face recognition technology to identify users. Using these tools, companies can keep their networks secure and ensure their data is safe against hackers.

Can Telemedicine Be Hacked?

Telemedicine is becoming more and more prevalent in the medical field, and it’s benefiting citizens from rural communities greatly. There are now even at-home diagnostic tools available such as electrocardiogram ECG devices, which can keep track of heart health and detect when a heart attack is taking place. There are several smartphone apps helping to advance the possibilities of telemedicine such as the recently announced MinuteClinic service by CVS, which allows users to be diagnosed and treated by doctors through a video conversation on their smartphone.
Even though this technology is helping more communities find medical care and providing an easier form of treatment and diagnosis, is it really as safe from hackers as we may think? While telemedicine is considered safer than many other forms of healthcare technology, hackers can still use several types of ransomware to keep the operation of a medical device hostage and steal data.
Ransomware is a technique used by hackers to extract payment or information, in which a target’s computer is locked until the hacker’s demands are met. Ransomware is usually performed through encryption tactics, and hackers typically order to be paid in a form of online currency such as bitcoin. These type of cyberattacks are at an all-time high, and it’s important to know what to do when you’re targeted.
To avoid privacy and security issues, telemedicine networks are required to comply with the HIPAA, which stands for the Health Insurance Portability and Accountability Act. This act helped to make medical records private and keep health information from getting in the hands of hackers. Telemedicine technology is required to abide by HIPAA’s guidelines, which include implementing a system of secure communication, allowing only authorized users to receive access to services and putting safeguards in place to prevent accidental or malicious breaches. By following these rules, telemedicine technology is more secure and fewer cyber-attacks occur.
Source : hackernoon

Thursday, April 5, 2018

Does your phone's battery issue?


Battery is lost in 3 to 4 hours due to the data pack in today's smartphone. Then we believe that our phone's battery is getting worse. And going over the net leads to a loss of data packs. But there is no cause for worry. Just changing your smartphone setting will trouble you away.
Change these settings to the phone
There are many settings in the phone that are always more cost-efficient. The battery is also down. So let's close those settings.


 
Uninstall useless apps from your phone. Or change the setting.
So if you want to save the phone's battery life and data, you can turn off these settings.
Go to your phone's settings and get the Google option. Click on it. There will be an option when clicking. Including data management to game and install app.
You can see many settings by clicking on the PLAY GAMES option. In which you have to sign in to Automatically and Use this account to sign in.
Below the Play Game, let's close the Request Notification option.

Google Play Store Removes Dangerous Application


Google recently dealt with 6 dangerous apps. From this application, the user used to work from slowing the speed of the phone to mobile heat.
Google QR Code Free Scan, QR Code Scan Best, QR Code / Barcode Free Scan, QR & Barcode Scanner, Smart compass These six apps are strictly outlined in Google Play Store.
Google has been mandated to allow users to access information in the application for the application. Can not ask for information other than The user's personal information or his phone can not be accessed without the user's permission.


 
In simple words, you download an app to your smartphone. As soon as you open an app, you are asked for your personal information. Including information such as name, address, email id and contact number. The app also wants access to the location, contact book, gallery, camera, microphone etc. As soon as you allow, your phone uses third-party access to your information. Research done by a German university has found that Google has found 234 applications on the Play Store, in which the user's information is misused. Users' TV viewing habits were also monitored through microphones.

Wednesday, February 21, 2018

The company is offering this smartphone with dual front and dual rear camera







Honor 9 Lite 20 has been made available for sale on Flipkart since February. This is the seventh cell of the smartphone launched in January. If you use Axis Bank's credit or debit card for payment, then customers are given a discount of 5%. Also, customers who purchase handsets from Flipkart for the first time will be given a 10% discount on Fashion Products.

This phone has been launched with two different variants of 3GB / 32GB internal storage and 4GB / 64GB internal storage. Its internal storage can be expanded up to 256 GB. The value of the variant with 3 GB RAM is Rs. 10,999 and a 4 GB RAM variant of Rs. 14,999. The company has launched these two variants in Midnight Black, Blue and Glacier gray color variants.

This smartphone offers you 5.65 inch full HD display and the phone has an Octark Kirin 659 processor. The Honore 9 Lite has a dual rear and dual-front camera. Its rear camera has 13 megapixel dual rear camera with a megapixel +2 megapixel camera with PDAF autofocus and LED flash. Its dual front camera also has 13 megapixels. It also has 3000 mAh battery. The company has claimed that it will give talk time up to 20 hours and standby time of up to 24 hours.

Monday, February 5, 2018

Advice From A 19 Year Old Girl & Software Developer


Don’t worry, this won’t be one of the I wake up at 4AM every morning and go for a 20km run… -‘inspirational’ posts, that make people feel like they need to be some kind of super-human in order to be a good developer.
Some people might know me as ‘the girl that never does anything else but coding’ from Instagram (@theavocoder), but I’ve never really shared what I actually do on a normal day, and have done in order to become a software developer!

How I got into coding

I’m Lydia, a 19 year old girl living in Stockholm, and I am a JavaScript (React) developer! I’m very active on social media, and try to motivate more people to join the tech world by showing what my life is like in this community.
I started coding when I was 15 years old. I had a booming health & lifestyle blog on Tumblr and gained tens of thousands of followers in no-time. This is when I started creating my own responsive layouts with the regular HTML, CSS and jQuery, as I didn’t like the themes that I could buy, so I decided to just try it myself! From there on, I kept on improving my skills, gained more knowledge, and my interest in developing grew. However, I had no idea that this was already considered coding and that I could do this for a living, I simply enjoyed creating my own designs from scratch and seeing that people loved the layouts that I built and were willing to pay me for it!
I went to high school until I was 18, and absolutely hated it. I felt like I was wasting so much time on subjects that could in no way improve my future (looking at you, ancient Greek and Latin!). Nonetheless, I worked extremely hard for my diploma, worked on many personal side-projects, and have always been busy tutoring and supporting people! People have described me as the most hardworking, yet most relaxed person they’ve ever met, and I think that describes my mindset perfectly. But we’ll get back to that later!
After I finished high school, I decided to not go to university. This was a very scary step for me, as I was kind of brainwashed into thinking that that’s the only way to have a successful future: everyone around me went to the best universities! I spent so much time trying to get the best grades in high school to eventually go to a good university, did I really just waste so many years of my life for nothing? Yup, pretty much, but I don’t at all regret it! Most of the people around me didn’t understand and thought I was making a big mistake, but the small amount of people that understood and supported me really motivated me.
I’ve always been very independent: I moved to another country by myself when I was 18, travelled a lot on my own during my teens, and have always been busy doing anything to improve my future. I’ve never felt pressured into doing stuff because society wanted me to, I’ve always done my own thing. After I decided to not go to university, but give my 110% to programming instead, I went to a coding bootcamp for 3 months in Tampa Bay, Florida. I didn’t have to do this, but it definitely helped me to get some structure and be surrounded by other people who enjoyed programming as well, as I didn’t have that before. I coded intensively, was constantly out of my comfort-zone (which I love), put a lot of effort into my personal projects to improve my coding skills, and learned so many new technologies.
Guess what? Even during the 3 months, an insane amount of recruiters reached out to me asking if I could work for them. It was after I created a LinkedIn profile and could show the work I put so much effort into. As a 19-year-old girl with no work experience whatsoever, it was kind of overwhelming. I didn’t understand: did they not read my LinkedIn profile? I didn’t go to university or anything, why would so many companies want me?
Because you don’t learn how to code at school. You learn how to code by writing programs in it. Most companies don’t care if you have a nice paper saying that you studied programming at college: people care that you can show that your coding skills are good, and that you love to code.
Don’t get me wrong. If you like life at college, or simply need some more structure in your life, then it’s definitely a good decision to go there. However, don’t feel pressured. The programming community can be harsh: they hate on each other because of the language they program in, they make it seem like it’s normal to get 2 hours of sleep because you have to code all night long, and that eating junk-food and sitting all day is simply the way it is. It’s absolutely not the case.

My daily life (outside of work)

After the bootcamp ended, I flew back to Stockholm. I was extremely excited to start this new chapter in my life, and couldn’t wait to keep on growing. So what do I do nowadays on a regular day?
I wake up and try to stretch. This sounds like the typical ‘inspirational’ post I talked about earlier (they’re like everywhere in LinkedIn, it’s driving me crazy!), but it’s extremely important. You sit for hours and hours, and your body definitely suffers if you don’t take care of it. It also really wakes you up, as your heart rate increases and your brain gets more oxygen.
I try to watch online coding courses for at least 2 hours per day. I love watching online courses, because I always learn new things and get inspired by seeing the instructor writing the code with such ease. I try to give my own twist to it by working on a similar project on the side, just slightly different, so I’m not simply copying what the instructor is doing. Also, it’s perfect when you just don’t want to get out of bed and still feel like you’ve been productive ;)
I try to work on my personal projects for at least 4 hours. They make me feel super uncomfortable. I always try to use languages or techniques I’ve never used before, so I get more experience with them. And let’s be honest, it can be horrible! I’m not going to lie and say that if you work hard, you’ll get there (which you will but that’s not the point), but I also really want to emphasise on the fact that learning something new can be an emotional rollercoaster. You will feel demotivated, feel like you’ll never understand it, and really question your coding skills. If you do, congratulations! You’re a normal human being! Feeling these emotions isn’t the important part here: what you do about it is the most important part. Research it, reach out to people, write your own Stack Overflow questions (and be a hero to many people out there), and simply keep on trying until you find a solution. And if you don’t, that’s completely fine. After some time, you will probably look back at it and think “how couldn’t I get this back then?!”.
I try to read at least 2 articles. I really like seeing things from a different perspective. The articles can be about anything: how to solve a certain coding problem, why JavaScript sucks sometimes, or what the coolest new technologies are. It’s important to not get stuck in a certain mindset!
I try to solve at least 5 CodeWars Kata. CodeWars is your best friend when you just get into coding, but also when you’ve been coding for many decades! The solutions to the problems they give you are often very useful, as you will learn to improve your syntax a lot by just scrolling through the solutions that other people gave. And another big plus: when you go for your coding interview, they often give you questions that are very similar to the ones on CodeWars!
I try to not eat junk-food. Eating nutritious food keeps me very alert and, most of all, happy! I feel so much more energized and motivated when I’ve had a very healthy breakfast and lunch, which definitely improves my coding capabilities. Don’t go for fast and easy, but think long term: the better your body, the better your mind, the better your code!
Plus: you can still stretch/meditate while coding!
Did you notice something? I kept on saying “I try”. Because I’m not going to force myself to do things when I just can’t do them. I don’t want to give myself a bad feeling when I haven’t worked on my personal projects, or when I’ve eaten junk-food. Giving my 110% is my focus, but I’m human: on some days I just don’t want to code, feel tired, and just want to watch Netflix all day. And that’s completely fine! Find the right balance between relaxation and hard work. This comes back to the comments people make about me being the most hardworking yet relaxed person they’ve ever met: but it’s not easy to have this mindset!
It took me a long time to not feel bad when I hadn’t worked all day long. Especially after joining Instagram: I constantly saw posts of people coding so much that I felt like I also had to do that and simply didn’t have time to take a day off. But once I started to make relaxation an important part of my life, everything got better. I felt so much happier and I was much more motivated to work a lot.

Conclusion

By writing this article, I hope to inspire some people to also get involved in the tech world, and that it’s really not as scary as it seems. Programming isn’t only for the super intelligent super-humans like they portray in movies. Programming is for anyone who loves to create, who loves to get out of their comfort zone, and for anyone who loves to improve themselves!
To conclude, my final advice:
  • You really don’t have to go to college, as long as you can really push yourself and show your passion for coding!
  • Always give your 110% whenever you can, and show the world what you’re capable of by getting your name out there. However, always prioritize your health. Sleep is very important!
  • It is completely normal to feel uncomfortable and to think that you’re really bad at coding, don’t let this bring you down. Everyone thinks this from time to time.
  • Always remind yourself of how far you’ve come already. It’s really easy to forget how much you’ve improved, but just compare yourself now to a month ago! I can assure you it’s a lot more than you’d think.
  • Don’t let other people make you feel like the language you program in is a bad language. It’s literally not, and it’s most likely very necessary and useful!
Source :Lydia Hallie

Wednesday, January 31, 2018

An introduction to Progressive Web Apps


Progressive Web Apps (PWA) are the latest trend in mobile application development using web technologies. At the time of writing (early 2018), they’re only applicable to Android devices.
PWAs are coming to iOS 11.3 and macOS 10.13.4, very soon.
WebKit, the tech underlying Safari and Mobile Safari, has recently (Aug 2017) declared that they’ve started working on introducing Service Workers into the browser. This means that soon they will land in iOS devices as well. So the Progressive Web Apps concept will likely be applicable to iPhones and iPads, if Apple decides to encourage this approach.
It’s not a groundbreaking new technology, but rather a new term that identifies a bundle of techniques that have the goal of creating a better experience for web-based apps.

What is a Progressive Web App

A Progressive Web App is an app that can provide additional features based on what the device supports, providing offline capability, push notifications, an almost native app look and speed, and local caching of resources.
This technique was originally introduced by Google in 2015, and proves to bring many advantages to both the developer and the users.
Developers have access to building almost-first-class applications using a web stack. This is always considerably easier and cheaper than building native applications, especially when considering the implications of building and maintaining cross-platform apps.
Devs can benefit from a reduced installation friction, and at a time when having an app in the store does not actually bring anything in terms of discoverability for 99,99% of the apps, Google search can provide the same benefits if not more.
A Progressive Web App is a website which is developed with certain technologies that make the mobile experience much more pleasant than a normal mobile-optimized website. It almost feels like working on a native app, as it offers the following features:
  • Offline support
  • Loads fast
  • Is secure
  • Is capable of emitting push notifications
  • Has an immersive, full-screen user experience without the URL bar
Mobile platforms (Android at the time of writing, but it’s not technically limited to that) offer increasing support for Progressive Web Apps. They even ask the user to add the app to the home screen when that user visits such a site.
But first, a little clarification on the name. Progressive Web App can be a confusing term, and a good definition is: web apps that take advantage of modern browsers features (like web workers and the web app manifest) to let their mobile devices “upgrade” the app to the role of a first-class citizen app.

Progressive Web Apps alternatives

How does a PWA stand compared to the alternatives when it comes to building a mobile experience?
Let’s focus on the pros and cons of each, and let’s see where PWAs are a good fit.

Native Mobile Apps

Native mobile apps are the most obvious way to build a mobile app. Objective-C or Swift on iOS, Java /Kotlin on Android and C# on Windows Phone.
Each platform has its own UI and UX conventions, and the native widgets provide the experience that the user expects. They can be deployed and distributed through the platform App Store.
The main pain point with native apps is that cross-platform development requires learning, mastering and keeping up to date with many different methodologies and best practices. If, for example, you have a small team or you’re a solo developer building an app on 3 platforms, you need to spend a lot of time learning the technology and environment. You’ll also spend a lot of time managing different libraries and using different workflows (for example, iCloud only works on iOS devices — there’s no Android version).

Hybrid Apps

Hybrid applications are built using Web Technologies, but are deployed to the App Store. In the middle sits a framework or some way to package the application so it’s possible to send it for review to the traditional App Store.
Some of the most common platforms are Phonegap and Ionic Framework, among many others, and usually what you see on the page is a WebView that essentially loads a local website.
I initially included Xamarin in the list, but Carlos Eduardo Pérez correctly pointed out that Xamaring generates native code.
The key aspect of Hybrid Apps is the write once, run anywhere concept. The different platform code is generated at build time, and you’re building apps using JavaScript, HTML and CSS, which is amazing. The device capabilities (microphone, camera, network, gps…) are exposed through JavaScript APIs.
The bad part of building hybrid apps is that, unless you do a great job, you might settle on providing a common denominator. This effectively creates an app that’s sub-optimal on all platforms because the app is ignoring the platform-specific human-computer interaction guidelines.
Also, performance for complex views might suffer.

Apps built with React Native

React Native exposes the native controls of the mobile device through a JavaScript API, but you’re effectively creating a native application, not embedding a website inside a WebView.
Their motto, to distinguish this approach from hybrid apps, is learn once, write anywhere. This means that the approach is the same across platforms, but you’re going to create completely separate apps in order to provide a great experience on each platform.
Performance is comparable to native apps, since what you build is essentially a native app which is distributed through the App Store.

Progressive Web Apps features

In the last section, you saw the main competitors of Progressive Web Apps. So how do PWAs stand compared to them, and what are their main features?
Remember — currently, Progressive Web Apps are for Android devices only.

Features

Progressive Web Apps have one thing that separates them completely from the above approaches: they are not deployed to the app store.
This is a key advantage. The app store is beneficial if you have the reach and luck to be featured, which can make your app go viral. But unless you’re in the top 0.001% you’re not going to get much benefit from having your little place on the App Store.
Progressive Web Apps are discoverable using Search Engines, and when a user gets to your site that has PWAs capabilities, the browser in combination with the device asks the user if they want to install the app to the home screen. This is huge, because regular SEO can apply to your PWA, leading to much less reliance on paid acquisition.
Not being in the App Store means you don’t need Apple’s or Google’s approval to be in the users pockets. You can release updates when you want, without having to go through the standard approval process which is typical of iOS apps.
PWAs are basically HTML5 applications/responsive websites on steroids, with some key technologies that were recently introduced to make some of the key features possible. If you remember, the original iPhone came without the option to develop native apps. Developers were told to develop HTML5 mobile apps that could be installed to the home screen, but the tech back then was not ready for this.
Progressive Web Apps run offline.
The use of service workers allow the app to always have fresh content, which can be downloaded in the background, and to provide support for push notifications, which offer greater re-engagement opportunities.
Also, sharability makes for a much nicer experience for users that want to share your app, as they just need a URL.

Benefits

So why should users and developers care about Progressive Web Apps?
  1. PWA are lighter. Native Apps can weigh 200MB or more, while a PWA could be in the range of the KBs.
  2. There’s no native platform code
  3. The cost of acquisition is lower (it’s much more difficult to convince a user to install an app than to visit a website to get the first-time experience)
  4. Significantly less effort is needed to build and release updates
  5. They have much more support for deep links than regular app-store apps

Core concepts

  • Responsive: the UI adapts to the device screen size
  • App-like feel: it doesn’t feel like a website but rather like an app (as much as possible)
  • Offline support: it will use the device storage to provide an offline experience
  • Installable: the device browser prompts the user to install your app
  • Re-engaging: push notifications help users re-discover your app once installed
  • Discoverable: search engines and SEO optimization can provide a lot more users than the app store
  • Fresh: the app updates itself and the content once it’s online
  • Safe: it uses HTTPS
  • Progressive: it will work on any device, even older one, even if it has fewer features (e.g. just as a website, not installable)
  • Linkable: it’s easy to point to it using URLs

Service Workers

Part of the Progressive Web App definition is that it must work offline.
Since the thing that allows the web app to work offline is the Service Worker, this implies that Service Workers are a mandatory part of a Progressive Web App.
WARNING: Service Workers are currently only supported by Chrome (Desktop and Android), Firefox, and Opera. See http://caniuse.com/#feat=serviceworkers for updated data on the support.
TIP: Don’t confuse Service Workers with Web Workers. They are a completely different thing.
A Service Worker is a JavaScript file that acts as a middleman between the web app and the network. Because of this it can provide cache services, speed the app rendering, and improve the user experience.
For security reasons, only HTTPS sites can make use of Service Workers, and this is part of the reason why a Progressive Web App must be served through HTTPS.
Service Workers are not available on the device the first time the user visits the app. On the first visit the web worker is installed, and then on subsequent visits to separate pages of the site, this Service Worker will be called.
Check out the complete guide to Service Workers at https://www.writesoftware.org/topic/service-workers

The App Manifest

The App Manifest is a JSON file that you can use to provide the device information about your Progressive Web App.
You add a link to the manifest in every header on each page of your web site:
<link rel="manifest" href="/manifest.json">
This file will tell the device how to set:
  • The name and short name of the app
  • The icons’ locations, in various sizes
  • The starting URL, relative to the domain
  • The default orientation
  • The splash screen

Example

{ 
  "name": "The Weather App", 
  "short_name": "Weather", 
  "description": "Progressive Web App Example", 
  "icons": [{
    "src": "images/icons/icon-128x128.png",
    "sizes": "128x128",
    "type": "image/png" 
  }, { 
    "src": "images/icons/icon-144x144.png",
    "sizes": "144x144", 
    "type": "image/png" 
  }, { 
    "src": "images/icons/icon-152x152.png",
    "sizes": "152x152", 
    "type": "image/png" 
  }, { 
    "src": "images/icons/icon-192x192.png",
    "sizes": "192x192", 
    "type": "image/png" 
  }, { 
    "src": "images/icons/icon-256x256.png", 
    "sizes": "256x256", 
    "type": "image/png" 
  }], 
  "start_url": "/index.html?utm_source=app_manifest", 
  "orientation": "portrait", 
  "display": "standalone", 
  "background_color": "#3E4EB8",
  "theme_color": "#2F3BA2" 
}
The App Manifest is a W3C Working Draft, reachable at https://www.w3.org/TR/appmanifest/

The App Shell

The App Shell is not a technology but rather a design concept. It’s aimed at loading and rendering the web app container first, and the actual content shortly after, to give the user a nice app-like impression.
Take, for example, Apple’s Human Interface Guidelines’ suggestion to use a splash screen that resembles the user interface. This provides a psychological hint that was found to lower the perception that the app was taking a long time to load.

Caching

The App Shell is cached separately from the contents, and it’s setup so that retrieving the shell building blocks from the cache takes very little time.

Thanks for reading through this tutorial. There’s a lot to learn about this topic and the new browser APIs. I publish a lot of related content on my blog about frontend development, don’t miss it! 😀

Saturday, January 20, 2018

How to Design Social Systems (Without Causing Depression and War)




How to Design Social Systems (Without Causing Depression and War)

Here I’ll present a way to think about social systems, meaningful interactions, and human values that brings these often-hazy concepts into focus. It’s also, in a sense, an essay on human nature. It’s organized in three sections:
  • Reflection and Experimentation. How do people decide which values to bring to a situation?
  • Practice Spaces. Can we look at social systems and see which values they support and which they undermine?
  • Sharing Wisdom. What are the meaningful conversations that we, as a culture, are starved for?
I’ll introduce these concepts and their implications for design. I will show how, applied to social media, they address issues like election manipulation, fake news, internet addiction, teen depression & suicide, and various threats to children. At the end of the post, I’ll discuss the challenges of doing this type of design at Facebook and in other technology teams.

Reflection and Experimentation

As I tried to make clear in my letter, meaningful interactions and time well spent are a matter of values. For each person, certain kinds of acts are meaningful, and certain ways of relating. Unless the software supports those acts and ways of relating, there will be a loss of meaning.
In the section below about practice spaces, I’ll cover how to design software that’s supportive in this way. But first, let’s talk about how people pick their values in the first place.
We often don’t know how we want to act, or relate, in a particular situation. Not immediately, at least.
When we approach an event (a conversation, a meeting, a morning, a task), there’s a process — mostly unconscious — by which we decide how we want to be.
Interrupting this can lead to doing things we regret. As we’ll see, it can lead to internet addiction, to bullying and trolling, and to the problems teens are having online.
So, we need to sort out the values with which we want to approach a situation. This is a process. I believe it’s the same process, whether you’re deciding something small — like how openly you will approach a particular conversation — or something big.
Let’s start with something big: many teenagers are engaged in sorting out their identities: they take ideas about how they ought to act (manly, feminine, polite, etc) and make up their own minds about whether to approach situations with these values in mind.
Worksheets from “On My Own Terms”. Join our community to play these games!
For these teens, settling on the right values takes a mix of experimentation and reflection. They need to try out different ways of being manly, feminine, intelligent, or kind in different situations and see how they work. They also need to reflect on who they want to be and how they want to live.
These two ingredients — experimentation and reflection — are required to sort out our values. Even the small decisions (for example, deciding how to balance honesty and tact in a conversation) require experimenting in real situations, and reflecting on what matters most.
This process can be intuitive, nonverbal, and unconscious, but it is vital.¹ If we don’t find the right values, it’s hard to feel good about what we do. The following circumstances interfere with experimentation and reflection:
  • High stakes. When deviation from norms becomes disastrous in some way — for instance, with very high reputational stakes — people are afraid to experiment. People need space to make mistakes and systems and social scenes with high consequences interfere with this.
  • Low agency. To put values to the test, a person needs discretion over the manner of their work: they need to experiment with moral values, aesthetic values, and other guiding ideas. Some environments — many of them corporate — make no room for being guided by one’s own moral or aesthetic ideas.
  • Disconnection. One way we judge the values we’re experimenting with is via exposure to their consequences. We all need to know how others feel when we treat them one way or another, to help us decide how we want to treat them. Similarly, an architect needs to know what it’s like to live in the buildings she designs. When the consequences of our actions are hidden, we can’t sort out what’s important.²
  • Distraction and overwork. We also lose the capacity to sort out our values when reflection becomes impossible. This is the major cost of noisy environments, infinite entertainment, push notifications, and some types of poverty.
  • Lack of faith in reflection. Finally, people can come to consider reflection to be useless — or to be avoided — even though it is so natural. The emotions which trigger reflection, including doubt and confusion, can be brushed away as distractions. One way this happens, is if people view their choices through a behaviorist lens: as determined by habits, reinforcement learning, or permanent drives.³ This makes it seem like people don’t have values at all, only habits, tastes, and goals. Experimentation and reflection seem useless.
Software-based social spaces can be disastrous for experimentation and reflection.
One reason that private group messaging (like WhatsApp and Messenger) is replacing virality-based forums (like Twitter, News Feed, and increasingly, Stories) is that the latter are horrible for experimenting with who we are. The stakes are too high. They seem especially bad for women, for teens, and for celebrities—which may partly explain the rise in teen suicide—but they're bad for all of us.
A related problem is online bullying, trolling, and political outrage. Many bullies and trolls would embrace other values if they had a chance to reflect and were better exposed to consequences. In-person spaces are much better for this.
Reflection can be encouraged or discouraged by design — this much is clear from the variety of internet-use helpers, like Moment and Intent. All of us (not just bullies and trolls) would use the Internet differently if we had more room for reflection.
Two lockscreens: one design encourages reflection, and one doesn’t. [from “Empowering Design”]

Exercise: On My Own Terms

In order to learn to support users in experimentation and reflection, designers must experiment and reflect on their own values. On My Own Terms is an exercise for this. Players fill out a worksheet, then socialize in an experimental way.
“On My Own Terms”. Join our community to play these games!
In the experimentation part, players defy norms they’ve previously obeyed, and see how it works out. Often they find that people like them better when they are less conventional — even when they are rude!

Here’s one thing this game makes clear: we discover what’s important to us in the context of real choices and their consequences. People often think they have certain values (eating kale, recycling, supporting the troops) but when they experiment and reflect on real choices, these values are discarded. They thought they believed in them, but only out of context.
This is how it was for me with consistency, rationality, masculinity, and being understated. When I played On My Own Terms, I decided to value these less. My true values are only clear through experimentation and reflection.
For users to have meaningful interactions and feel their time was well spent, they need to approach situations in a way they believe in. They need space to experiment and reflect.
But this is not enough.

Practice Spaces

Every social system makes some values easier to practice, and other values harder. Even with our values in order, a social environment can undermine our plans.
Most social platforms are designed in a way that encourages us to act against our values: less humbly, less honestly, less thoughtfully, and so on. Using these platforms while sticking to our values would mean constantly fighting their design. Unless we’re prepared for a fight, we’ll likely regret our choices.
There’s a way to address this, but it requires a radical change in how we design: we must reimagine social systems as practice spaces for the users’ values — as virtual places custom built to make it easier for the user to relate and to act in accord with their values.
Designers must get curious about two things:
  1. When users want to relate according to a particular value, what is hard about doing that?
  2. What is it about some social spaces that can make relating in this way easier?
For example, if an Instagram user valued being creative, being honest, or connecting adventurously, then designers would need to ask: what kinds of social environments make it easier to be creative, to be honest, or to connect adventurously? They could make a list of places where people find these things easier: camping trips, open-mics, writing groups, and so on.
Next, the designers would ask: which features of these environments make them good at this? For instance, when someone is trying to be creative, do mechanisms for showing relative status (like follower counts) help or hurt? How about when someone wants to connect adventurously? Or, with being creative, is this easier in a small group of close connections, or a large group of distant ones? And so on.
To take another example, if a News Feed user believes in being open-minded, designers would ask which social environments make this easier. Having made such a list, they would look for common features. Perhaps it’s easier to be open-minded when you remember something you respect about a person’s previous views. Or, perhaps it’s easier when you can tell if the person is in a thoughtful mood by reading their body language. Is open-mindedness more natural when those speaking have to explicitly yield time for others to respond? Designers would have to find out.

Exercise: Space Jam

To start thinking this way, it’s best if designers focus first on values which they themselves have trouble practicing. In this game, Space Jam, each player shares something they’d like to practice, some way of interacting. Then everyone brainstorms, imagining practice spaces (both online and offline) which could make this easier.
“Space Jam”. Join our community to play these games!
Here’s an example of the game, played over Skype with three designers from Facebook:
Eva says she wants to practice “changing the subject when a conversation seems like a dead end.”
Someone comments that Facebook threads are especially bad at this. We set a timer for three minutes and brainstorm on our own. Then everyone presents one real-world way to practice, and one mediated way.
George’s idea involves a timer. When it rings, everyone says “this conversation doesn’t meet my need for ____”. Jennifer suggests something else: putting a bowl in the middle of a conversation. Player can write out alternate topics and put them in the bowl in a conspicuous but non-interrupting way. (Jennifer also applies this idea to Facebook comments, where the bowl is replaced by a sidebar.)
We all wonder together: could it ever be “okay” for people to say things like “this conversation doesn’t meet my need for ____”? Under what circumstances is this safe to say?
This leads to new ideas.

In the story above, Eva is an honest person. But that doesn’t mean it’s always easy to be honest. She struggles to be honest when she wants to change the conversation. By changing the social rules, we can make it easier for her to live according to her values.
Games like Space Jam show how much influence the rules of social spaces have over us, and how easy it is for thoughtful design to change those rules. Designers become more aware of the values around them and why they can be difficult to practice. They feel more responsible for the spaces they are creating. (Not just the spaces they make for users, but also in daily interactions with their colleagues). This gives them a fresh approach to design.
If designers learn this skill, they can support the broad diversity of users’ values. Then users will no longer have to fight the software to practice their values.

Sharing Wisdom

I hope the previous ideas—reflection, experimentation, and practice spaces—have given a sense for how to support meaningful actions. Let’s turn to the question of meaningful information and meaningful conversation.
We are having a problem in this area, too.
Amidst nonstop communication — a torrent of articles, videos, and posts — there is still a kind of conversation that people are starved for, because our platforms aren’t built for it.
When this type of conversation — which I’ll call sharing wisdom — is missing, people feel that no one understands or cares about what’s important to them. People feel their values are unheeded, unrecognized, and impossible to rally around.
As we’ll see, this situation is easy to exploit, and the media and fake news ecosystems have taken advantage. By looking at how this exploitation works, we can see how conversations become ideological and polarized, and how elections are manipulated.
But first, what do I mean by sharing wisdom?
Social conversation is often understood as telling stories, sharing feelings, or getting advice. But each of these can be seen as a way to discover values.
When we ask our friends for advice — if you look carefully — we aren’t often asking about what we should do. Instead, we’re asking them about what’s important in our situation. We’re asking for values which might be new to us. Humans constantly ask each other “what’s important?” — in a spouse, in a wine, in a programming language.
I’ll call this kind of conversation (both the questions and the answers) wisdom.
Wisdom, n. Information about another person’s hard-earned, personal values — what, through experimentation and reflection, they’ve come to believe is important for living.
Wisdom is what’s exchanged when best friends discuss their relationships or jobs, when we listen to stories told by grandmothers, church pastors, startup advisors, and so on.
It comes in many forms: mentorship, texts, rituals, games. We seek it naturally, and in normal conditions it is abundant.
For various reasons, the platforms are better for sharing other things (links, recommendations, family news) than for asking each other what’s important. So, on internet platforms, wisdom gets drowned out by other forms of discourse:
  • By ideology. Our personal values are easily eclipsed by ideological values (for instance, by values designed to promote business, a certain elite, or one side in a political fight). This is happening when posts about partisan politics make us lose track of our shared (or sharable) concerns, or when articles about productivity outpace our deeper life questions.
  • By scientism. Sometimes “hard data” or pseudo-scientific “models” are used to justify things that would be more appropriately understood as values. For instance, when neuroscience research is used to justify a style of leadership, our discourse about values suffers.
  • By bullshit. Many other kinds of social information can drown out wisdom. This includes various kinds of self-promotion; it includes celebrities giving advice for which they have no special experience; it includes news. Information that looks like wisdom can make it harder to locate actual, hard-earned wisdom.
For all these reasons, talk about personal values tends to evaporate from the social platforms, which is why people feel isolated. They don’t sense that their personal values are being understood.
In this state, it’s easy for sites like Breitbart, Huffington Post, Buzzfeed, or even Russia Today to capitalize on our feeling of disconnection. These networks leverage the difficulty of sharing wisdom, and the ease of sharing links. They make a person feel like they are sharing a personal value (like living in a rural town or supporting women), when actually they are sharing headlines that twist that value into a political and ideological tool.

Exercise: Value Sharing Circle

For designers to get clear about what wisdom sounds like, it can be helpful to have a value sharing circle. Each person shares one value which they have lived up to on the day they are playing, and one which they haven’t. Here’s a transcript from one of these circles:
There are twelve of us, seated for dinner. We eat in silence for what feels like a long time. Then, someone begins to speak. It’s Otto. He says he works at a cemetery. At 6am this morning, they called him. They needed him to carry a coffin during a funeral service. No one else could do it. So, he went. Otto says he lived up to his values of showing up and being reliable. But — he says — he was distracted during the service. He’s not sure he did a good job. He worries about the people who were mourning, whether they noticed his missteps, whether his lack of presence made the ritual less perfect for them. So, he didn’t live up his values of supporting the sense of ritual and honoring the dead.
In the course of such an evening, participants are exposed to values they’ve never thought about. That night, other people spoke of their attempts to be ready for adventure, be a vulnerable leader, and make parenthood an adventure.

Playing this makes the difference between true personal values and ideologies very clear. Notice how different these values are from the values of business. No one in the circle was particularly concerned with productivity, efficiency, or socio-economic status. No one was even concerned with happiness!
Social platforms could make it much easier to share our personal values (like small town living) directly, and to acknowledge one another and rally around them, without turning them into ideologies or articles.
This would do more to heal politics and media than any “fake news” initiative. To do it, designers will need to know what this kind of conversation sounds like, how to encourage it, and how to avoid drowning it out.

The Hardest Challenge

I’ve pointed out many challenges, but left out the big one. 😕
Only people with a particular mindset can do this type of design. It takes a new kind of empathy.
Empathy can mean understanding someone’s goals, or understanding someone’s feelings. And these are important.
But to build on these concepts — experimentation, reflection, wisdom, and practice spaces— a designer needs to see the experimental part of a person, the reflective part, the person’s desire for (and capacity for) wisdom, and what the person is practicing.
As with other types of empathy, learning this means growing as a person.
Why? Well, just as it’s hard to see others’ feelings when we repress our own, or hard to listen to another person’s grand ambitions unless we are comfortable with ours... it’s hard to get familiar with another person’s values unless we are first cozy with our own, and with all the conflicts we have about them.
This is why the exercises I’ve listed (and others, which I didn’t have space to include) are so important. Spreading this new kind of empathy is a huge cultural challenge.
But it’s the only way forward for tech.

Thanks for reading. (Here are the credits and footnotes.)
Please clap for this and the previous post!
And…

Interested for our works and services?
Get more of our update !