Skip to main content

Posts

Showing posts with the label Technology

Transformative impact of VisionOS on education

VisionOS gives futuristic opportunity in Education and Training landscape. For instance illustrating virtual classrooms, interactive learning environments, and simulations. 1. Immersive Learning Environments: VisionOS introduces immersive learning environments that go beyond traditional classroom setups. These environments leverage augmented reality (AR) and virtual reality (VR) technologies to create realistic and engaging educational experiences. Students can explore historical events or conduct virtual experiments, fostering a deeper understanding of the subject matter. 2. Redefining Traditional Education Models: The traditional education model often relies on lectures, textbooks, and static presentations. VisionOS disrupts this paradigm by offering dynamic and interactive content. Teachers can create 3D models, simulations, and interactive lessons, providing students with a more engaging and participatory learning experience. 3. Interactive and Engaging Platform: VisionOS is design...

Safari Technology Preview | Best way to debug WebPages in iPhone, iPad or Mac Apps.

I enjoyed using Web Inspector tool from Safari Developer options to debug active web pages in iPhone or iPad. For instance, WKWebView running on iPhone. With the update of MacOS Big Sur 11.4 it got broke !! The Safari (14.1.1) web inspector only limited to Sources, Console and Audit. Also this issue started floating in SO thread here . Last week I got rescued by a lesser known application (at lest in my team!) Safari Technology Preview from Apple. Safari Technology Preview app will give you full scale options includes the most recent version of WebKit, the rendering engine that powers Safari. It requires a Mac running macOS Mojave v10.14 or later. I highly recommend this Apple provided in-house Browser for Developer.

Pocket guide to iOS app development enthusiasts

I would like to share all possible channels & resources that helps to pitch in iOS development. I'm sure existing iOS ninjas who are already consuming those in one or other ways. Before listing my points - we all know it's most important to keep updated techs and trends. Many cases I have seen some of the channels & connections helped developers to get their new jobs or app contracts. 1. Apple's Official Developer guide. Apple Documentation  is the first go over for all references.  Swift.org for Swift Language starting point. WWDC Videos (& New app launched as well) 2. Social Media Groups - Fast & easy way to connect with iOS community. Facebook Group   Twitter Lists for iOS handles 3. Slack workspaces - A sweet hub of all iOS developers connected by channels. ios-developers.slack.com (Suggested) 4. Online Courses   - Gives opportunity to learn and be certified developers. Udemy AppBrewery  Alison ( and more ) 5...

Upcoming iOS Conferences 2019

Tech conferences are the source of educational opportunity & gives a chance of networking with peers. 2019 will be yet another busy year for a mobile app developer. An iOS developer just waiting for Swift 5.0 release or next version of iOS is not sufficient to get a brainstorm. When I found a few dev conferences already started selling tickets for this year, I started noting down in this article. I hope you will mark down in your calendar for next event by end of this article. iOS Conf SG 2019   January 17-19 @Singapore This conference starts in next week itself featuring more than 20 pure iOS and Swift programming talks. It also includes one day workshop for 300 attendees. dotSwift    January 28-30 @Paris, France This European Swift Conference focused on training sessions for intermediate and hardcore developers along with many interesting talks. MobOS Feb 14-17 @Cluj-Napoca, Romania MobOS Community Romania intended to build network around mobil...

Next tide of App market

  E very time when you rush to Appstore or Playstore, you can see tons of apps. Does every best or top trending app will fit in your smart phone ? Well it does not!. You have to make choice. Yes, the mobile app market is really saturated . There are more than 3 million apps floating across app stores. But average user has only 20-25 apps on his device. Out of these, most of them covers Social Media apps and Productivity tools as well.  The first study , by Nielsen, revealed that the average number of apps that users open on a monthly basis has remained relatively stable over the past two years between 26.5 and 26.8 (although average time spent in apps per month has increased by more than 50% in the same period). Consider a taxi booking app you want to download.  Wave of apps like Uber, Ola, Meru and many more listed in the store. Which one would you choose? One alone or Two apps cannot serve your purpose. For instance you have Ola app installed. U...

Starting Server side Swift : Kitura

Kitura is a new package based web framework for Swift 3.0 by IBM. As Swift is a compiled language, your Kitura application compiles to a binary that can either act as its own webserver (by default, on port 8090) or as a FastGCI server for use with Nginx or Apache.         Features URL routing (GET, POST, PUT, DELETE) URL parameters Static file serving FastCGI support SSL/TLS support JSON parsing Pluggable middleware Starting first project To create executable package, create and switch to a directory. For  example I have created a directory with name ‘ Todoapp ’ and moved in. Now in the terminal,  $ swift package init will create folder structure for Kitura as shown Todoapp ├── Package.swift ├── Sources │   └── main.swift └── Tests Tip : In case swift file ~/Sources/Todoapp.swift created then rename to ~/Sources/main.swift. In the  Package.swift  add  ‘dependencies’. /***** Package.swi...

SVN configuration in MAC Android Studio

To setup svn and checkout repository in Android Studio 2.2.2 for Mac , we have to follow simple few steps .   Step 1: Go to Android Studio Preferences  >  Version Control > Subversions Select checkbox for command line client Now, type ` svn ` in the box. click on ' Apply ' and ' Save ' Step 2: From the top menu, VCS > Checkout from Version Control Paste SVN path in the under repository path after hitting ‘+’ button. Then you can see you repository listed for checkout.   If you expand the newly added repository, can see all the folders. Click on parent folder and click ' Checkout ' to your work space.

Tech Mega Events - to Create Event in Your Calendar

Annual tech events not only exhibiting future technologies but also gives   up-to-date knowledge of IT industry buddies. Here is the list of tech events that to be marked as event in our calendar app. Consumer Electronics Show (CES)   - January Kick start your new year with CES, an annual trade show on upcoming electronics gadgets and overview upcoming innovations in consumer electronics industry. Event held in Las Vegas organized by Consumer Technology Association.

Popular posts from this blog

Animating label text update - choosing a better way

Recently I published a countdown app .  At one point of development - I have to show a timer on a UILabel which ticks on each seconds. As usual I started  setting text to a label object - self .timerLabel.text = someString Easy piece of cake right !?   But wait ... it won't take much user attention when timer ticks on every seconds. So I decided to make use of a simple animation while label gets text update. I found there are dozens of ways to animate a label. In this short article, I listed 3 best way you can animate text on a label. ( Spoiler Alert 👀- I decided to go with 3rd option)  1. Fade In - Fade out animation : CATransition class has got transition type `fade`. With timing function of CATransition - I was able to see the below result. let animation: CATransition = CATransition () animation.timingFunction = CAMediaTimingFunction (name: CAMediaTimingFunctionName .easeInEaseOut) animation.type = CATransitionType .fade animation.subtype = C...

Implementing autocompletion OTP field in iOS

Long waiting is over. !!  iOS 12 brings Autofill for OTP text field which is close to Android provided a decade back. Previously in iOS we used to toggle between OTP text screen and message inbox.  Which was hard to remember and time consuming resulting a bad user experience. Personally, I have been asked from the client/customer couple of times to implement autocompletion for OTP field and took me a lot of time to convey that it is not possible in iOS. Why Autofill was not possible previously?  We all know that Apple gives at most care for user privacy. When we see iOS architecture, each individual app is like a separate island. There is no inter-app bridge between apps (exception for Keychain and URLSchemes APIs which gives very limited scope). Thus we cannot read message content from inbox. Where to start Autofilling? First of all, the target SMS need to have the OTP Code with prefix string "Code" or "Passcode"on its message content. Beware of OTP c...

Prevent Navigationbar or Tabbar overlapping Subview - solved for Card view

Recently, I started with a Card view added as a subview of UIView in a view-controller. When a view controller created along subviews, it tends to use entire screen bounds and also slips behind Tab bar or Navigation bar. In my current situation, it's second case. Casually new iOS developers will write a patch by additional value for coordinate y and subtracting bar height from its size. A lot of them posted in SO threads too : How to prevent UINavigationBar from covering top of view? View got hidden below UINavigationBar iOS 7 Navigation Bar covers some part of view at Top So, how I got solved ? self.edgesForExtendedLayout = [] This  will avoid all subviews in a view controller get behind any bars. Read full apple  documentation on here. Full Source code below :  //Simple view controller where its view layed-out as a card. class WidgetCardViewController : UIViewController { var containerView = UIView () //MARK:- View Controller Life Cyc...

UICollectionViewCell shows with wrong size on First time - Solved

We commonly use Collection view where its cell size calculated run time. The flow layout delegate is responsible to return individual cell sizes. BUT in most of the cases, delegate method `collectionView: layout sizeForItem:` expects cell size too early. Before generating actual cell size. extension YourViewController : UICollectionViewDelegateFlowLayout { func collectionView ( _ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize (width: externalWidth, height: externalHeight) } } For instance, if a cell size depends on external view and its frame is not yet ready - results with wrong (or outdated) cell size. Typically happens for the first time view controller laid out all views. You can find similar queries in StackOverflow community : Collection view sizeForItemNotWorking UICollectionViewCell content wrong size on first load How to refresh UICollec...

Cached Async Image in SwiftUI

 SwiftUI’s AsyncImage is handy, but every time your view appears, it refetches the image—leading to flicker, delays, and unnecessary network use. What if you could fetch once, then reuse instantly? That's exactly what the Cached Async Image  delivers: a memory-powered caching layer that keeps SwiftUI image loading smooth, snappy, and resilient. First a simple in-memory cache without disk persistence. This will be thread-safe and auto-purges under memory pressure. A Singleton wrapping NSCache for URL → UIImage caching as follows : final class ImageCache {   static let shared = ImageCache()   private init() {}   private let cache = NSCache<NSURL, UIImage>()   func image(for url: URL) -> UIImage? {     cache.object(forKey: url as NSURL)   }   func insertImage(_ image: UIImage?, for url: URL) {     guard let image else { return }     cache.setObject(image, forKey: url as NSURL)   }   func clearAll() { ...