June 16, 2026

From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]

From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]
From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]
M365 FM Podcast
From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]
Apple Podcasts podcast player iconSpotify podcast player iconYoutube Music podcast player iconSpreaker podcast player iconPodchaser podcast player iconAmazon Music podcast player icon

In this episode of the M365 Podcast, Mirko Peters sits down with Microsoft MVP Michel Mendes to explore his remarkable journey from traditional SharePoint development to becoming a leading Power Platform Architect. Michel shares how he started his Microsoft technology career in Brazil, transitioned from C# and SharePoint development into the modern Power Platform ecosystem, and eventually moved to Ireland to continue building enterprise-grade solutions for organizations worldwide.Throughout the conversation, Michel provides valuable insights into how the Microsoft ecosystem has evolved over the years, the growing role of AI in software development, and why understanding architecture, governance, and security remains critical even in a low-code world. Whether you're a developer, solution architect, IT leader, or Power Platform enthusiast, this episode delivers practical guidance for building scalable and maintainable business applications.

POWER PLATFORM EVOLUTION AND THE FUTURE OF DEVELOPMENT

Michel discusses how Power Platform has transformed application development by enabling both professional developers and technically minded business users to build solutions faster than ever before. He also shares his perspective on how AI-powered development tools such as GitHub Copilot are changing the way applications are designed, prototyped, and maintained.Key topics include:• The transition from traditional development to low-code solutions
• How AI is accelerating software delivery
• Why developers who embrace AI will thrive
• The future of Power Apps, Power Pages, and pro-code development
• The importance of understanding business problems before building technology

BUILDING ENTERPRISE POWER APPS THAT SCALE

Creating an app is easy. Creating an app that remains maintainable, performant, and scalable for years is much harder.Michel explains the architectural principles that separate successful Power Platform implementations from those that struggle over time. He shares practical advice on designing reusable components, improving performance, and creating solutions that can grow alongside business requirements.Topics covered:• Power Apps design best practices
• Building maintainable applications
• Performance optimization strategies
• Reusable components and architecture patterns
• Measuring business value and user adoption

DATAVERSE AS THE FOUNDATION OF MODERN BUSINESS APPLICATIONS

A major part of the discussion focuses on Microsoft Dataverse and its role as the foundation for enterprise-grade Power Platform solutions.Michel explains why Dataverse is much more than a database and how it provides built-in governance, security, authentication, and scalability capabilities that help organizations avoid reinventing the wheel.Learn about:• Dataverse architecture fundamentals
• Security and governance advantages
• Building scalable business applications
• Plugins versus Power Automate flows
• Designing efficient data models

POWER PAGES AND EXTERNAL BUSINESS SOLUTIONS

Michel is widely recognized for his expertise in Power Pages, and this episode dives deep into how organizations can create secure, modern, and scalable external-facing websites powered by Dataverse.The conversation explores when Power Pages is the right choice, how it differs from Power Apps, and how recent innovations are making the platform even more attractive for professional developers.Highlights include:• Power Pages fundamentals
• External portals and customer-facing applications
• React and Angular-based SPA experiences
• AI-assisted website development
• Modern Power Pages architecture

SECURITY, GOVERNANCE, AND WEB API BEST PRACTICES

One of the most valuable sections of the episode focuses on security.Michel explains common mistakes developers make when exposing Dataverse data through Power Pages and outlines practical approaches for protecting sensitive information while maintaining usability.Topics include:• Dataverse table permissions
• Column-level security
• Power Pages Web API security
• Common security vulnerabilities
• Governance and compliance best practices
• Penetration testing and security reviews

COMMUNITY, CAREER GROWTH, AND MVP INSIGHTS

Michel also shares his experiences as a Microsoft MVP and discusses the importance of contributing back to the Microsoft community through blogging, conference speaking, GitHub projects, and social media engagement.For professionals starting their Power Platform journey, he provides actionable advice on certifications, learning paths, and developing a long-term career strategy within the Microsoft ecosystem.This episode is packed with real-world experience, technical insights, and practical guidance for anyone looking to build secure, scalable, and future-ready solutions with Microsoft Power Platform.Whether you're a SharePoint veteran, a Power Platform developer, a solution architect, or simply curious about the future of low-code and AI-powered development, this conversation with Michel Mendes delivers valuable lessons from someone who has successfully navigated every stage of that journey.

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.

🚀 Want to be part of m365.fm?

Then stop just listening… and start showing up.

👉 Connect with me on LinkedIn and let’s make something happen:

  • 🎙️ Be a podcast guest and share your story
  • 🎧 Host your own episode (yes, seriously)
  • 💡 Pitch topics the community actually wants to hear
  • 🌍 Build your personal brand in the Microsoft 365 space

This isn’t just a podcast — it’s a platform for people who take action.

🔥 Most people wait. The best ones don’t.

👉 Connect with me on LinkedIn and send me a message:
"I want in"

Let’s build something awesome 👊

1
00:00:00,000 --> 00:00:03,880
Welcome to another edition of the MC65 podcast.

2
00:00:03,880 --> 00:00:05,920
My today's guest is Michael Mendez,

3
00:00:05,920 --> 00:00:06,920
Microsoft MVP,

4
00:00:06,920 --> 00:00:09,360
solution architect and developer specialized

5
00:00:09,360 --> 00:00:12,120
in Microsoft 365 and the Power Platform.

6
00:00:12,120 --> 00:00:16,840
Michael began his journey with Microsoft technology back in 2008

7
00:00:16,840 --> 00:00:19,720
and spent nearly a decade working as a developer in

8
00:00:19,720 --> 00:00:22,800
the Brazil building deep expertise in

9
00:00:22,800 --> 00:00:25,600
SharePoint development and enterprise solutions.

10
00:00:25,600 --> 00:00:31,480
In 2018 he made the move to Dublin and

11
00:00:31,480 --> 00:00:34,400
successfully fully transitioned from

12
00:00:34,400 --> 00:00:35,840
to the SharePoint development into

13
00:00:35,840 --> 00:00:37,840
modern business application space today.

14
00:00:37,840 --> 00:00:40,800
Michael focused on designing and delivering

15
00:00:40,800 --> 00:00:42,880
enterprise drive solution using power apps,

16
00:00:42,880 --> 00:00:45,480
power automate, data versus power pages,

17
00:00:45,480 --> 00:00:48,720
helping organization build powerful digital expertise

18
00:00:48,720 --> 00:00:50,520
while maintaining securities,

19
00:00:50,520 --> 00:00:52,240
getability and governance.

20
00:00:52,240 --> 00:00:54,520
Yeah, in this episode we will explore

21
00:00:54,520 --> 00:00:57,160
Michael journey through the Microsoft ecosystem,

22
00:00:57,160 --> 00:01:01,320
the evolution of power platform dive into power pages security,

23
00:01:01,320 --> 00:01:04,240
best practice and talk about what it takes to build

24
00:01:04,240 --> 00:01:06,280
a solution that can scan in the real world.

25
00:01:06,280 --> 00:01:08,280
Where can Michael team the show?

26
00:01:08,280 --> 00:01:09,680
Thank you, thank you.

27
00:01:09,680 --> 00:01:12,480
Nice to meet you here in person,

28
00:01:12,480 --> 00:01:14,400
virtually for the first time.

29
00:01:14,400 --> 00:01:16,480
Pleased to be here with you and

30
00:01:16,480 --> 00:01:19,200
yeah, looking forward to our conversation.

31
00:01:19,200 --> 00:01:21,120
Yeah.

32
00:01:21,120 --> 00:01:27,600
You are really long in the Microsoft space in 2008.

33
00:01:27,600 --> 00:01:33,720
Yeah, how did your journey start with Microsoft technologies?

34
00:01:33,720 --> 00:01:38,120
Okay, when I graduated in university,

35
00:01:38,120 --> 00:01:39,640
so I think when I was in university,

36
00:01:39,640 --> 00:01:43,920
I did a few internship programs,

37
00:01:43,920 --> 00:01:45,680
one for my college.

38
00:01:45,680 --> 00:01:49,400
It was like an internal paid project that they

39
00:01:49,400 --> 00:01:53,800
supported like a tuition fee and I worked for six months as well for

40
00:01:53,800 --> 00:01:57,400
like one of the government bodies of the city,

41
00:01:57,400 --> 00:02:02,120
but I didn't work with Microsoft technologies like

42
00:02:02,120 --> 00:02:04,520
until now, until that points.

43
00:02:04,520 --> 00:02:07,280
So my like my in the during college,

44
00:02:07,280 --> 00:02:11,320
I only studied Java and I worked on my internship with PHP.

45
00:02:11,320 --> 00:02:13,320
It's not into which Microsoft.

46
00:02:13,320 --> 00:02:15,280
But then after I finished college,

47
00:02:15,280 --> 00:02:18,960
I was trying to find a job in another city like

48
00:02:18,960 --> 00:02:21,920
I studied in a city called Oru Preto.

49
00:02:21,920 --> 00:02:24,320
It was a small city in Brazil.

50
00:02:24,320 --> 00:02:26,720
Then I was trying to move to Belo Horizonte,

51
00:02:26,720 --> 00:02:30,200
which is the capital city of Minas Gerais.

52
00:02:30,200 --> 00:02:35,960
So there I could get a job in a company that they offered like a training program.

53
00:02:35,960 --> 00:02:40,760
And they trained everyone in Microsoft technologies and I began then my career

54
00:02:40,760 --> 00:02:43,720
studying C#, SQL Server.

55
00:02:43,720 --> 00:02:48,320
And at that point, I did a few projects with Windows Forms.

56
00:02:48,320 --> 00:02:51,200
And it was, I'm just trying to remember the name of technology,

57
00:02:51,200 --> 00:02:55,600
but it was the ASP dot net before the MVC,

58
00:02:55,600 --> 00:02:58,280
I totally forgot the name of it, but web format,

59
00:02:58,280 --> 00:03:00,400
ASP dot net web forms, I think.

60
00:03:00,400 --> 00:03:03,440
So I worked like for a year in projects like this.

61
00:03:03,440 --> 00:03:07,120
And after a year, they were, the company were

62
00:03:07,120 --> 00:03:11,520
inversing SharePoint projects and they picked up a field of

63
00:03:11,520 --> 00:03:14,480
developers to train again in SharePoint.

64
00:03:14,480 --> 00:03:18,240
And then I started working as a SharePoint developer.

65
00:03:18,240 --> 00:03:20,680
And then I career began.

66
00:03:20,680 --> 00:03:25,080
I worked for a long time in Brazil with SharePoint and I slowly started

67
00:03:25,080 --> 00:03:29,400
to be introduced to the Barplatform until I,

68
00:03:29,400 --> 00:03:32,800
now there is only work with Barplatform basically.

69
00:03:32,800 --> 00:03:34,840
That's more or less it.

70
00:03:34,840 --> 00:03:40,000
Yeah, so you have this, I call the traditional development skills.

71
00:03:40,000 --> 00:03:44,600
And how does this apply to the low-code area?

72
00:03:48,040 --> 00:03:55,080
Like, since I always, I was taught to think like this and I tried to do

73
00:03:55,080 --> 00:03:58,680
my best like these in terms of SharePoint itself.

74
00:03:58,680 --> 00:04:03,440
Like, even if we think about low-code like ConvozApps and

75
00:04:03,440 --> 00:04:06,000
everything gets more advanced, from SharePoints time,

76
00:04:06,000 --> 00:04:09,000
there was a lot we could do out of the box without having to write

77
00:04:09,000 --> 00:04:10,280
custom code.

78
00:04:10,280 --> 00:04:13,360
And you should, you should got a developer that doesn't understand

79
00:04:13,360 --> 00:04:14,480
how the platform works.

80
00:04:14,480 --> 00:04:16,800
We would be reinventing the wheel, right?

81
00:04:16,800 --> 00:04:21,600
So like my mentors at that point, they taught me like, hey,

82
00:04:21,600 --> 00:04:24,560
you need to think first, and like, does the feature exist?

83
00:04:24,560 --> 00:04:26,320
Can you do it with configuration first?

84
00:04:26,320 --> 00:04:29,640
If you can't, then we go to Procode Approaches.

85
00:04:29,640 --> 00:04:32,680
And that's what I do now with the Barplatform as well.

86
00:04:32,680 --> 00:04:36,880
So basically, I can say that that reduced a little bit because we

87
00:04:36,880 --> 00:04:39,040
can do a lot with low-code tools now.

88
00:04:39,040 --> 00:04:43,800
So if we think about ConvozApp, see the other DGN apps out of the box

89
00:04:43,800 --> 00:04:45,840
and bar automate?

90
00:04:45,840 --> 00:04:49,960
There's a lot we can do without coding, but still, we see the best

91
00:04:49,960 --> 00:04:50,960
approach.

92
00:04:50,960 --> 00:04:54,040
When we try to do anything with low-code and it fails or it's not

93
00:04:54,040 --> 00:04:56,960
enough, then we go for Procode Approach.

94
00:04:56,960 --> 00:05:02,560
Or if the customer wants something really customized and still

95
00:05:02,560 --> 00:05:06,240
wants to leverage the benefits of governance and the whole

96
00:05:06,240 --> 00:05:10,600
data for security, then I think that's when we build a highly

97
00:05:10,600 --> 00:05:11,680
customized solution.

98
00:05:11,680 --> 00:05:16,360
But always keeping in mind that we need to do security configs

99
00:05:16,360 --> 00:05:20,120
out of the box and all that stuff, right?

100
00:05:20,120 --> 00:05:23,960
And you're really long in this Microsoft ecosystem.

101
00:05:23,960 --> 00:05:28,320
How did you see how it changed over the last year, especially

102
00:05:28,320 --> 00:05:32,840
now with the AI topic?

103
00:05:32,840 --> 00:05:36,560
Yeah, I think it's exciting, but challenging at the same time,

104
00:05:36,560 --> 00:05:40,360
because we need to be keeping an eye all the time in the news

105
00:05:40,360 --> 00:05:42,360
and updates, right?

106
00:05:42,360 --> 00:05:47,240
But to me, I cannot say that things will go in that way, but I

107
00:05:47,240 --> 00:05:54,320
feel that due to the whole world being targeted into developing

108
00:05:54,320 --> 00:05:57,680
Procode apps with AI, I think that's going to be the way to go

109
00:05:57,680 --> 00:05:58,200
going forward.

110
00:05:58,200 --> 00:06:02,400
So far, example, in case of Power Apps, instead of developing

111
00:06:02,400 --> 00:06:05,600
ConvozApps, what's going to be the trend now is develop

112
00:06:05,600 --> 00:06:09,640
code apps, because then you can use Cloud Code or GitHub

113
00:06:09,640 --> 00:06:13,520
to build the apps while still leveraging everything,

114
00:06:13,520 --> 00:06:15,880
like the governance and data of those features and all

115
00:06:15,880 --> 00:06:19,480
security, same for Power Page as well.

116
00:06:19,480 --> 00:06:24,720
The only edge case that I feel that they won't be going

117
00:06:24,720 --> 00:06:29,200
towards that direction are if you don't have premium licenses

118
00:06:29,200 --> 00:06:32,480
for Power Apps, because you cannot use code apps

119
00:06:32,480 --> 00:06:35,040
and Power Page without premium licenses.

120
00:06:35,040 --> 00:06:37,440
So for that case, for example, companies

121
00:06:37,440 --> 00:06:40,000
that they want to build apps with SharePoints, OK,

122
00:06:40,000 --> 00:06:43,080
there's still a use case for ConvozApps.

123
00:06:43,080 --> 00:06:45,680
But I believe, at least from what I see people trying

124
00:06:45,680 --> 00:06:51,880
around, I think the whole-- the LLMs and the agents,

125
00:06:51,880 --> 00:06:55,960
the agent development tools, they are not that good with ConvozApps

126
00:06:55,960 --> 00:06:59,360
as they are with full Procode apps.

127
00:06:59,360 --> 00:07:02,920
So I think we'll see a gap in that point at the moment.

128
00:07:02,920 --> 00:07:05,440
I'm not sure how things are going to spin out in two months,

129
00:07:05,440 --> 00:07:10,480
I'm maybe missing proofs, but that's what I feel at the moment,

130
00:07:10,480 --> 00:07:12,360
too.

131
00:07:12,360 --> 00:07:17,360
And how do you see how has Power Platform, Microsoft Frame,

132
00:07:17,360 --> 00:07:20,080
the day of makeup platform, changed

133
00:07:20,080 --> 00:07:25,560
to the other way organizations approach application development?

134
00:07:25,560 --> 00:07:30,000
You mean in terms of not needing a software that

135
00:07:30,000 --> 00:07:33,440
is less necessarily a software developer to build apps or--

136
00:07:33,440 --> 00:07:37,160
Yeah, and I think one of the keywords

137
00:07:37,160 --> 00:07:39,000
are citizen development.

138
00:07:39,000 --> 00:07:43,560
Yeah, I think, honestly, to me, I feel--

139
00:07:43,560 --> 00:07:47,920
Power Platform empowers more people to be developing apps.

140
00:07:47,920 --> 00:07:52,120
But sometimes I think the term is a bit misunderstood

141
00:07:52,120 --> 00:07:55,680
in terms of it's not that everyone will build apps at the end.

142
00:07:55,680 --> 00:08:00,240
At least to me, I feel that maybe the most impactful apps

143
00:08:00,240 --> 00:08:01,760
that are built are built from people

144
00:08:01,760 --> 00:08:06,440
that they were already very tech-savvy building stuff

145
00:08:06,440 --> 00:08:07,280
with other tools.

146
00:08:07,280 --> 00:08:10,080
So for example, you see a lot of people

147
00:08:10,080 --> 00:08:15,880
that they were power users for Excel for anything in office.

148
00:08:15,880 --> 00:08:17,800
I think you see more impact from those people

149
00:08:17,800 --> 00:08:21,720
touching the Power Platform than someone that maybe doesn't

150
00:08:21,720 --> 00:08:26,920
even want to be very good at saving, you know?

151
00:08:26,920 --> 00:08:29,760
I think not saying that those guys cannot want to build apps,

152
00:08:29,760 --> 00:08:32,880
I think everyone ends up building something,

153
00:08:32,880 --> 00:08:34,400
but in terms of more impact.

154
00:08:34,400 --> 00:08:37,200
And that's my impression, anyway.

155
00:08:37,200 --> 00:08:39,840
I might be wrong, but--

156
00:08:39,840 --> 00:08:46,440
And what will you say, what separates a successful Power Platform

157
00:08:46,440 --> 00:08:51,080
implementation from one that struggles?

158
00:08:51,080 --> 00:08:52,280
Successful.

159
00:08:52,280 --> 00:08:59,720
I think if we measure how many users are really using the apps,

160
00:08:59,720 --> 00:09:05,640
like if we can measure, for example, the number of hours

161
00:09:05,640 --> 00:09:10,160
a process used to take before the digitized process

162
00:09:10,160 --> 00:09:13,720
was in place and how it works now.

163
00:09:13,720 --> 00:09:16,240
Because I think there's no point in people building apps

164
00:09:16,240 --> 00:09:19,440
that nobody uses and making impact, you know?

165
00:09:19,440 --> 00:09:21,520
That's what I feel.

166
00:09:21,520 --> 00:09:23,880
I know every company would have different measures,

167
00:09:23,880 --> 00:09:26,200
but I think that's it.

168
00:09:26,200 --> 00:09:32,520
In terms of how many hours you saved, what was the real impact?

169
00:09:32,520 --> 00:09:36,040
You gathered some reports to just show numbers before and after

170
00:09:36,040 --> 00:09:39,640
the process was implemented?

171
00:09:39,640 --> 00:09:43,440
One of your core specialists is Power Apps.

172
00:09:43,440 --> 00:09:49,400
What makes a good Power Apps to a great one?

173
00:09:49,400 --> 00:09:50,280
I think it's--

174
00:09:50,280 --> 00:09:53,240
if when people think about usability, when

175
00:09:53,240 --> 00:09:58,360
they build an app that's intuitive, and the first thing is not

176
00:09:58,360 --> 00:10:00,760
only building an app, but understanding

177
00:10:00,760 --> 00:10:06,600
the real business problem in what the app is trying to solve,

178
00:10:06,600 --> 00:10:12,000
like really bridging the gap between technology and the people.

179
00:10:12,000 --> 00:10:14,120
Because sometimes when people develop systems,

180
00:10:14,120 --> 00:10:17,600
I think they don't really--

181
00:10:17,600 --> 00:10:19,080
how can I say--

182
00:10:19,080 --> 00:10:22,400
put themselves in the place of the users?

183
00:10:22,400 --> 00:10:24,920
And sometimes they try to solve a problem that doesn't exist

184
00:10:24,920 --> 00:10:27,960
or solve it in a wrong way because there's

185
00:10:27,960 --> 00:10:30,720
mis-inquisitions and things like that.

186
00:10:30,720 --> 00:10:37,360
But I think most of the processes really well-mapped,

187
00:10:37,360 --> 00:10:41,800
and then the app is built with the users in mind.

188
00:10:41,800 --> 00:10:45,080
I think that's the beginning of success.

189
00:10:45,080 --> 00:10:50,600
And how did you start when you build an app?

190
00:10:50,600 --> 00:10:54,160
What's your-- how did you do it?

191
00:10:54,160 --> 00:10:54,960
What's your plan?

192
00:10:54,960 --> 00:11:02,840
OK, usually, it's not that I do it everything myself,

193
00:11:02,840 --> 00:11:07,920
but we would have a BA that talks to business,

194
00:11:07,920 --> 00:11:10,120
and then that the end-of-sensory requirements

195
00:11:10,120 --> 00:11:12,360
talk to the technical people.

196
00:11:12,360 --> 00:11:15,800
Maybe we do some prototype to validate the ideas before

197
00:11:15,800 --> 00:11:19,080
building the apps, do presentations for the users.

198
00:11:19,080 --> 00:11:21,120
If they are happy with the prototypes,

199
00:11:21,120 --> 00:11:23,280
then we go forward developing the app.

200
00:11:23,280 --> 00:11:24,400
I think it's easier like this.

201
00:11:24,400 --> 00:11:27,240
So we just show mockups, and sometimes we

202
00:11:27,240 --> 00:11:30,280
could just figure out, for example, to create prototypes.

203
00:11:30,280 --> 00:11:34,920
And the users give a few ideas and tell what they like,

204
00:11:34,920 --> 00:11:36,400
what they didn't like.

205
00:11:36,400 --> 00:11:38,760
Because sometimes it's easier to fix things

206
00:11:38,760 --> 00:11:41,160
when you show just the prototype instead

207
00:11:41,160 --> 00:11:44,720
of changing the whole data model, how things flow.

208
00:11:44,720 --> 00:11:47,120
I know, nowadays it's even easier, which

209
00:11:47,120 --> 00:11:49,200
I think we can build everything quickly with AI,

210
00:11:49,200 --> 00:11:52,880
but thinking about the way things used to be until now,

211
00:11:52,880 --> 00:11:58,280
it's, I think, that's the approach I used to take until now.

212
00:11:58,280 --> 00:11:59,680
But sometimes, yeah, even with AI,

213
00:11:59,680 --> 00:12:03,880
now, we can just simply build a proof of concept quickly,

214
00:12:03,880 --> 00:12:05,800
show to the users, see if they like it,

215
00:12:05,800 --> 00:12:09,760
and if they don't like it, we throw it away, and you did again.

216
00:12:09,760 --> 00:12:13,520
I just think when it's a system that is running production,

217
00:12:13,520 --> 00:12:17,200
then sometimes we need to modify existing functionality,

218
00:12:17,200 --> 00:12:22,280
maybe going with the prototype way is the best, even now.

219
00:12:22,280 --> 00:12:26,320
And what tips, I think, a lot of people build apps,

220
00:12:26,320 --> 00:12:29,360
but what is your tips to make it, yeah, long term,

221
00:12:29,360 --> 00:12:32,280
main, main, a little bit?

222
00:12:32,280 --> 00:12:35,440
No, sorry, what's the tips to make it, what, say?

223
00:12:35,440 --> 00:12:40,520
The main, maintain, maintain, the ability,

224
00:12:40,520 --> 00:12:46,040
how can we build apps that works long, long, long term?

225
00:12:46,040 --> 00:12:53,680
It depends, it depends if it's kind of a, if it's kind of a,

226
00:12:53,680 --> 00:12:58,600
let's say, one thing, if it's model another, but in general,

227
00:12:58,600 --> 00:13:05,360
I think, if we think, if we think when we build the apps to try

228
00:13:05,360 --> 00:13:08,280
to make everything the most reusable as possible,

229
00:13:08,280 --> 00:13:11,000
instead of like duplicating a lot of code, you know,

230
00:13:11,000 --> 00:13:13,520
because that's something that people sometimes start building apps

231
00:13:13,520 --> 00:13:16,240
and don't think about creating components,

232
00:13:16,240 --> 00:13:21,240
like optimizing those reusable bits of the app.

233
00:13:21,240 --> 00:13:24,840
Also think about performance as well,

234
00:13:24,840 --> 00:13:28,680
like not only build the app, but think,

235
00:13:28,680 --> 00:13:29,960
how is this gonna grow?

236
00:13:29,960 --> 00:13:32,560
Is the platform gonna support it?

237
00:13:32,560 --> 00:13:34,600
Because sometimes as way, you build queries

238
00:13:34,600 --> 00:13:37,920
that they can be slower than the others,

239
00:13:38,760 --> 00:13:44,520
and yeah, I think it's just, think about the performance,

240
00:13:44,520 --> 00:13:49,360
how to reuse components and build the app in a way

241
00:13:49,360 --> 00:13:51,600
that is easy to change if needed.

242
00:13:51,600 --> 00:13:56,080
- I think when we talk about power apps,

243
00:13:56,080 --> 00:14:00,200
or especially we talk about enterprise power apps,

244
00:14:00,200 --> 00:14:03,240
we have also talk about data worse.

245
00:14:03,240 --> 00:14:05,440
What role do those data worse play

246
00:14:05,440 --> 00:14:07,400
in creating scalable solutions?

247
00:14:07,680 --> 00:14:12,680
- Hmm, I think it's, honestly,

248
00:14:12,680 --> 00:14:18,280
if the person who is building solutions understands data

249
00:14:18,280 --> 00:14:24,280
worse, well, they will be able to like map how to build

250
00:14:24,280 --> 00:14:28,240
the queries in the apps correctly in a performance way,

251
00:14:28,240 --> 00:14:31,000
or if they wanna do pro code stuff,

252
00:14:31,000 --> 00:14:36,000
for example, plugins versus creating flows,

253
00:14:36,440 --> 00:14:38,160
like if you understand that thing back

254
00:14:38,160 --> 00:14:40,160
that the excessive use of plugins

255
00:14:40,160 --> 00:14:42,720
having the environment can slow it down

256
00:14:42,720 --> 00:14:45,280
versus some functionality you can transfer to flows,

257
00:14:45,280 --> 00:14:48,280
I think it's good.

258
00:14:48,280 --> 00:14:51,520
And in terms of data worse,

259
00:14:51,520 --> 00:14:53,120
like what role it would play,

260
00:14:53,120 --> 00:14:57,000
I think it's, I won't say it's only data worse,

261
00:14:57,000 --> 00:14:58,920
but it's a power platform overall,

262
00:14:58,920 --> 00:15:01,800
because when you build a solution in top of data worse,

263
00:15:01,800 --> 00:15:04,160
you don't need to be reinventing the wheel in terms of

264
00:15:05,080 --> 00:15:08,000
configuring data models, security and all of that.

265
00:15:08,000 --> 00:15:10,400
That sort of helps in governance as well.

266
00:15:10,400 --> 00:15:13,920
So the users need to think about the focus,

267
00:15:13,920 --> 00:15:18,440
the developers would need to focus more on how to develop

268
00:15:18,440 --> 00:15:22,280
the apps, the code or configuration bits,

269
00:15:22,280 --> 00:15:25,440
and not worry about authentication security

270
00:15:25,440 --> 00:15:27,000
in all the other aspects,

271
00:15:27,000 --> 00:15:29,520
if that is configured correctly.

272
00:15:29,520 --> 00:15:30,360
Let's see.

273
00:15:30,360 --> 00:15:35,040
- I think another topic you are also in is its power page,

274
00:15:35,040 --> 00:15:35,880
and power pages.

275
00:15:35,880 --> 00:15:38,720
Well, listen now there,

276
00:15:38,720 --> 00:15:40,560
I'm familiar with those power pages.

277
00:15:40,560 --> 00:15:43,600
How would you describe these platforms?

278
00:15:43,600 --> 00:15:46,920
- How would I describe power pages

279
00:15:46,920 --> 00:15:50,040
comparing to power apps and the rest is it?

280
00:15:50,040 --> 00:15:51,080
- Yep.

281
00:15:51,080 --> 00:15:54,560
Well, I'd say in summary,

282
00:15:54,560 --> 00:15:57,080
think of power pages for external users,

283
00:15:57,080 --> 00:15:59,080
power apps for internal users,

284
00:15:59,080 --> 00:16:01,040
because you cannot be exposing power apps

285
00:16:01,040 --> 00:16:02,360
for external users.

286
00:16:02,360 --> 00:16:05,360
And then if you need to have external people

287
00:16:05,360 --> 00:16:08,920
to interact with data versus our pages is the way to go.

288
00:16:08,920 --> 00:16:11,320
Obviously, you don't need power pages to do that.

289
00:16:11,320 --> 00:16:14,440
You could build a map with dot-map that connects to data

290
00:16:14,440 --> 00:16:17,600
versus, but the way power pages built is like,

291
00:16:17,600 --> 00:16:19,600
it's very quick to spin up a solution.

292
00:16:19,600 --> 00:16:22,200
It has the same benefits as using data

293
00:16:22,200 --> 00:16:23,560
versus for internal stuff.

294
00:16:23,560 --> 00:16:27,920
So for example, when it comes to security, exposing only

295
00:16:27,920 --> 00:16:30,280
some bits of data or others,

296
00:16:30,280 --> 00:16:35,280
and having more restrictions or of what people can or cannot do,

297
00:16:35,280 --> 00:16:38,600
you can do it, you can do everything out of the box.

298
00:16:38,600 --> 00:16:40,240
You don't need to develop code for that.

299
00:16:40,240 --> 00:16:42,320
So if you know everything you are doing exactly,

300
00:16:42,320 --> 00:16:46,240
you can simply configure like what tables you want to expose

301
00:16:46,240 --> 00:16:51,240
to the public, what are the exact data roles

302
00:16:51,240 --> 00:16:53,080
that the users can have access,

303
00:16:53,080 --> 00:16:55,640
what the actions they can do and everything,

304
00:16:55,640 --> 00:16:57,440
just with configuration.

305
00:16:57,440 --> 00:17:01,800
So even if the developer tries to help

306
00:17:01,800 --> 00:17:05,520
and say over-expose data that users shouldn't see,

307
00:17:05,520 --> 00:17:07,480
if the permissions are configured correctly,

308
00:17:07,480 --> 00:17:09,520
that won't happen, I think.

309
00:17:09,520 --> 00:17:10,320
That's the benefit.

310
00:17:10,320 --> 00:17:17,040
- And what types of business scenarios are ideal for power pages?

311
00:17:17,040 --> 00:17:18,600
That's just a little fun.

312
00:17:18,600 --> 00:17:23,320
- In my opinion, in my opinion, it justifies the investment

313
00:17:23,320 --> 00:17:28,200
if the company already has data versus foreign telephone processes.

314
00:17:28,200 --> 00:17:31,560
Because then you get a real benefit of it.

315
00:17:31,560 --> 00:17:34,280
So like you already have a lot of power apps,

316
00:17:34,280 --> 00:17:36,160
kind of as apps or model driven apps,

317
00:17:36,160 --> 00:17:37,600
running up business processes

318
00:17:37,600 --> 00:17:40,760
and you need to expose part of its external users.

319
00:17:40,760 --> 00:17:43,440
I think that's when power pages shines

320
00:17:43,440 --> 00:17:46,280
because you can spin up a website very quickly

321
00:17:46,280 --> 00:17:48,240
without those benefits and said.

322
00:17:48,240 --> 00:17:51,040
But I don't think like in my opinion,

323
00:17:51,040 --> 00:17:53,840
and I think it's even a common agreement

324
00:17:53,840 --> 00:17:56,800
among the community that you can actually create

325
00:17:56,800 --> 00:17:59,160
power pages connecting to different data sources,

326
00:17:59,160 --> 00:18:01,600
but it's not the bigger strength.

327
00:18:01,600 --> 00:18:04,480
The main one is with data versus.

328
00:18:04,480 --> 00:18:07,880
- It works.

329
00:18:07,880 --> 00:18:11,680
It works, but I think the company is gonna get more benefits

330
00:18:11,680 --> 00:18:12,800
with data versus.

331
00:18:12,800 --> 00:18:14,480
- Okay.

332
00:18:14,480 --> 00:18:18,160
Yeah, why are so many companies,

333
00:18:18,160 --> 00:18:22,320
they are just phasing with external portals

334
00:18:22,320 --> 00:18:24,320
they are often challenging them.

335
00:18:24,320 --> 00:18:29,240
Yeah, I think, yeah, it's, I don't know.

336
00:18:29,240 --> 00:18:33,440
I have the feeling a lot, they have not these concepts.

337
00:18:33,440 --> 00:18:36,920
I think it's, yeah, I think a little bit about it.

338
00:18:36,920 --> 00:18:39,600
It's an edit on for dynamic.

339
00:18:39,600 --> 00:18:43,560
So, how will you describe

340
00:18:45,360 --> 00:18:49,520
what makes a good port external portal?

341
00:18:49,520 --> 00:18:56,720
- I think, nice UI, which sometimes is not the easiest thing

342
00:18:56,720 --> 00:18:59,640
to do, which you use only other box components,

343
00:18:59,640 --> 00:19:04,640
but it can be achieved like with a few CSS styling

344
00:19:04,640 --> 00:19:08,680
and as well, okay, nice UI, I think

345
00:19:08,680 --> 00:19:13,720
that there's also need to think about performance

346
00:19:13,720 --> 00:19:17,080
because if you have portal, there's a few things we can,

347
00:19:17,080 --> 00:19:20,200
we can tweaking the part page's website

348
00:19:20,200 --> 00:19:21,960
to improve performance, but basically,

349
00:19:21,960 --> 00:19:24,880
if the portal is not fast,

350
00:19:24,880 --> 00:19:28,400
they use it just gonna be low because the users who like it,

351
00:19:28,400 --> 00:19:30,880
you know, so I think it's like they have to be friendly

352
00:19:30,880 --> 00:19:34,000
and fast and also the same way as for business,

353
00:19:34,000 --> 00:19:37,560
internal business users, if you are proposing

354
00:19:37,560 --> 00:19:41,080
a portal for external people, just trying to think

355
00:19:41,080 --> 00:19:44,800
of what problem the portal is trying to solve

356
00:19:44,800 --> 00:19:47,400
for your external people.

357
00:19:47,400 --> 00:19:50,000
Maybe it's a problem, but not their problem,

358
00:19:50,000 --> 00:19:52,320
I think it should be a combination of both.

359
00:19:52,320 --> 00:19:55,080
Like it helps them to help you basically,

360
00:19:55,080 --> 00:19:58,120
helps them to help your clients, that's it.

361
00:19:58,120 --> 00:20:04,600
- And yeah, when I think a little bit about,

362
00:20:04,600 --> 00:20:09,360
you're a long time in these power pages,

363
00:20:09,360 --> 00:20:13,200
how have the power pages evolved over the last years?

364
00:20:13,200 --> 00:20:17,880
- Yeah, I think over the last years,

365
00:20:17,880 --> 00:20:20,040
the bigger improvements that we had initially

366
00:20:20,040 --> 00:20:21,760
power pages wasn't solution-aware,

367
00:20:21,760 --> 00:20:25,160
so now they can be part of solutions

368
00:20:25,160 --> 00:20:28,640
and leverage all the new governance benefits

369
00:20:28,640 --> 00:20:30,320
of Power Platform, like the,

370
00:20:30,320 --> 00:20:34,040
I can say the Power Platform pipelines

371
00:20:34,040 --> 00:20:37,160
and all governance stuff that we have,

372
00:20:37,160 --> 00:20:40,760
environment variables and some minor things,

373
00:20:40,760 --> 00:20:44,640
but I think now as well, this is very recent,

374
00:20:44,640 --> 00:20:47,480
I think there's been a huge investment

375
00:20:47,480 --> 00:20:51,720
on a few pro-code items in Power Pages,

376
00:20:51,720 --> 00:20:54,840
so for example, now there's server logic,

377
00:20:54,840 --> 00:20:57,240
that is basically similar to what you do

378
00:20:57,240 --> 00:20:59,400
with Azure Functions, you can create your server

379
00:20:59,400 --> 00:21:03,400
logics in Power Pages, code that runs on the server sides,

380
00:21:03,400 --> 00:21:06,400
that can interact with external services,

381
00:21:06,400 --> 00:21:09,960
Azure Functions or other APIs you have

382
00:21:09,960 --> 00:21:13,360
without exposing client secrets and exposing our logic

383
00:21:13,360 --> 00:21:15,400
on JavaScript.

384
00:21:15,400 --> 00:21:17,520
There's also an annual type of website

385
00:21:17,520 --> 00:21:21,200
that's the SPA website, so basically,

386
00:21:21,200 --> 00:21:24,640
you will be building a Power Pages website

387
00:21:24,640 --> 00:21:28,640
using React or Angular, so instead of building a website,

388
00:21:28,640 --> 00:21:32,800
using web templates and configuring everything from scratch,

389
00:21:32,800 --> 00:21:34,800
like we used to do with the standard portals,

390
00:21:34,800 --> 00:21:38,640
you can simply create a portal using those languages

391
00:21:38,640 --> 00:21:41,400
and they interact with Power Pages using the web APIs,

392
00:21:41,400 --> 00:21:44,000
and you simply need to do configuration stuff,

393
00:21:44,000 --> 00:21:47,480
like configure table permissions, the roles and et cetera.

394
00:21:47,480 --> 00:21:52,480
And I think that type of portal is a big update,

395
00:21:52,480 --> 00:21:56,120
a big improvement for the platform,

396
00:21:56,120 --> 00:21:58,880
because of two things, it brings more developers

397
00:21:58,880 --> 00:22:00,640
to work with the Power Platform,

398
00:22:00,640 --> 00:22:04,280
because previously, if you wanted to create the pages

399
00:22:04,280 --> 00:22:07,200
and the Power Pages, you need to understand the liquid language

400
00:22:07,200 --> 00:22:10,240
that it's a language created by Shopify

401
00:22:10,240 --> 00:22:13,640
that not all the developers know, and sometimes they hate it,

402
00:22:13,640 --> 00:22:19,720
it was a bit more convoluted how we create the JavaScript files

403
00:22:19,720 --> 00:22:24,440
and everything, and now it will be just a single web

404
00:22:24,440 --> 00:22:27,000
from the end project, where devs can work

405
00:22:27,000 --> 00:22:29,920
as if they worked in React or Angular,

406
00:22:29,920 --> 00:22:31,800
just simply files life, I think.

407
00:22:31,800 --> 00:22:33,720
And also, you can use yellow limbs now,

408
00:22:33,720 --> 00:22:36,560
so for example, there's a cloud plugin

409
00:22:36,560 --> 00:22:41,560
to create the SBA website, so instead of creating everything

410
00:22:41,560 --> 00:22:44,360
from scratch, you can describe it,

411
00:22:44,360 --> 00:22:47,720
and then AI creates a version of the website for you,

412
00:22:47,720 --> 00:22:51,040
and then you simply tweak if something is needed.

413
00:22:51,040 --> 00:22:53,680
I think it's going in the right direction.

414
00:22:53,680 --> 00:22:58,000
- It's then similar to Power Apps Code Apps,

415
00:22:58,000 --> 00:22:59,600
or how do you work?

416
00:22:59,600 --> 00:23:03,680
- It's the same, it's just a different platform,

417
00:23:03,680 --> 00:23:06,120
but it works very similar.

418
00:23:06,120 --> 00:23:07,760
- Okay. - Yeah.

419
00:23:07,760 --> 00:23:12,760
- And what did you think, how looks the future for Power Pages?

420
00:23:12,760 --> 00:23:18,680
- I think the day people will build only the new type of app,

421
00:23:18,680 --> 00:23:22,920
the SBA apps, same way as I said for Power Apps,

422
00:23:22,920 --> 00:23:27,920
as well, I think that's gonna be ramping up very quickly,

423
00:23:27,920 --> 00:23:28,920
in my opinion.

424
00:23:30,600 --> 00:23:35,000
If we follow the trend of people using AI agents

425
00:23:35,000 --> 00:23:39,320
to build apps, those two apps are the best ones

426
00:23:39,320 --> 00:23:41,560
to build it in AI anyway.

427
00:23:41,560 --> 00:23:46,600
- Another topic you're also in, it's a security topic.

428
00:23:46,600 --> 00:23:47,760
- Yeah.

429
00:23:47,760 --> 00:23:51,560
- Why is it important for Power Pages developers

430
00:23:51,560 --> 00:23:52,960
or Power App developers?

431
00:23:52,960 --> 00:23:56,040
- Yeah, I think I'm more,

432
00:23:56,040 --> 00:23:59,720
I used to post more or talk more about

433
00:23:59,720 --> 00:24:02,960
Power Pages security in Power Apps, to be honest,

434
00:24:02,960 --> 00:24:07,520
because I noticed when I did a few presentations on the topic,

435
00:24:07,520 --> 00:24:10,880
I noticed a few developers around that they were a bit unaware

436
00:24:10,880 --> 00:24:16,040
of some, not constraints, how can I say some vulnerabilities

437
00:24:16,040 --> 00:24:20,160
that you can bring, if you are not aware of how client side

438
00:24:20,160 --> 00:24:24,360
code in works and what you can expose or not with code,

439
00:24:24,360 --> 00:24:26,520
because sometimes even that concept of, okay,

440
00:24:26,520 --> 00:24:29,360
that's everything low code, bring up you want to build a site,

441
00:24:29,360 --> 00:24:31,320
bring up you want to build an app,

442
00:24:31,320 --> 00:24:33,040
I think it's fine if it's an internal let,

443
00:24:33,040 --> 00:24:36,160
maybe people misconfigure something on the dataverse,

444
00:24:36,160 --> 00:24:38,240
it's gonna be exposing.

445
00:24:38,240 --> 00:24:42,880
Generally, it's a problem, but it's not a problem

446
00:24:42,880 --> 00:24:46,440
as big as if you expose that to external people.

447
00:24:46,440 --> 00:24:50,760
So for example, I know it's not the right approach,

448
00:24:50,760 --> 00:24:53,000
but okay, you see cases around that people

449
00:24:53,000 --> 00:24:56,920
instead of tricking proper security roles on the dataverse,

450
00:24:56,920 --> 00:25:01,560
they simply hide the data in a canvas app with filters,

451
00:25:01,560 --> 00:25:03,760
which is not the right approach, okay?

452
00:25:03,760 --> 00:25:06,000
But if the user's not able to save it,

453
00:25:06,000 --> 00:25:08,560
they won't be fighting it in your company.

454
00:25:08,560 --> 00:25:10,720
Okay, it's a problem you need to map,

455
00:25:10,720 --> 00:25:14,000
but if someone can access it,

456
00:25:14,000 --> 00:25:15,320
it's gonna be someone internal,

457
00:25:15,320 --> 00:25:18,120
it's not gonna be all the world accessing it.

458
00:25:18,120 --> 00:25:20,440
In new part pages, if you have a public website,

459
00:25:20,440 --> 00:25:23,920
if you, for example, set permissions of a table to be global,

460
00:25:23,920 --> 00:25:28,000
everyone with a login figure website can access the data

461
00:25:28,000 --> 00:25:29,040
of that table.

462
00:25:29,040 --> 00:25:32,120
And if that table is enabled with a web API

463
00:25:32,120 --> 00:25:36,400
and the developer doesn't know how to correctly

464
00:25:36,400 --> 00:25:39,600
configure permissions like, as if they put it as global,

465
00:25:39,600 --> 00:25:43,280
everyone can access the data if they simply guess

466
00:25:43,280 --> 00:25:46,800
the address of the table and point

467
00:25:46,800 --> 00:25:50,400
and do some old data queries, you know?

468
00:25:50,400 --> 00:25:53,680
It's very easy to find, but if you configure properly,

469
00:25:53,680 --> 00:25:56,760
the users will see only the records they should have access

470
00:25:56,760 --> 00:25:58,560
to see, modify, whatever.

471
00:25:58,560 --> 00:26:02,800
I just thought there was a bit of lack of awareness

472
00:26:02,800 --> 00:26:05,160
in the less experienced developers,

473
00:26:05,160 --> 00:26:07,760
so I just, I thought it would be beneficial

474
00:26:07,760 --> 00:26:11,120
to be talking about it and writing articles

475
00:26:11,120 --> 00:26:13,360
and posts about it, basically,

476
00:26:13,360 --> 00:26:15,760
just to bring awareness of what are the features,

477
00:26:15,760 --> 00:26:18,440
what you should be paying attention to, you know?

478
00:26:18,440 --> 00:26:22,440
- Okay, and can you, yeah, for people,

479
00:26:22,440 --> 00:26:27,080
they are not familiar with web API,

480
00:26:27,080 --> 00:26:31,360
can you a little bit explain what is this and how do we...

481
00:26:31,360 --> 00:26:34,280
- Yeah, so basic web APIs and interface,

482
00:26:34,280 --> 00:26:38,760
you can use to access data for data via JavaScript,

483
00:26:38,760 --> 00:26:43,200
but everything that you will use JavaScript to call

484
00:26:43,200 --> 00:26:45,120
runs on your browser.

485
00:26:45,120 --> 00:26:48,840
So basically, when you enable those web API endpoints

486
00:26:48,840 --> 00:26:53,840
of people to update data, to read data in your website,

487
00:26:53,840 --> 00:26:58,160
you need to be very careful on what you enable or not,

488
00:26:58,160 --> 00:27:02,160
because if you enable, if you are not careful,

489
00:27:02,160 --> 00:27:03,600
then what can I say?

490
00:27:03,600 --> 00:27:07,320
You can, you can expose fields, you shouldn't expose,

491
00:27:07,320 --> 00:27:12,320
you can expose items, you shouldn't be exposing publicly,

492
00:27:12,320 --> 00:27:15,800
but if you configure permissions properly

493
00:27:15,800 --> 00:27:18,760
and you enable strictly what needs to be enabled,

494
00:27:18,760 --> 00:27:21,520
then your users would see exactly what they need to see.

495
00:27:21,520 --> 00:27:25,120
So it's a way they can interact with dataverse programmatically

496
00:27:25,120 --> 00:27:27,920
via JavaScript, but you need to be very careful

497
00:27:27,920 --> 00:27:30,960
because if the users can interact with,

498
00:27:30,960 --> 00:27:33,960
like if JavaScript can interact with a web API,

499
00:27:33,960 --> 00:27:37,640
anyone opening developer tools in Chrome can do the same.

500
00:27:37,640 --> 00:27:41,960
So if they via JavaScript can access data that they shouldn't,

501
00:27:41,960 --> 00:27:43,360
that's a problem, you know?

502
00:27:43,360 --> 00:27:45,280
(laughs)

503
00:27:45,280 --> 00:27:50,080
And how did we secure, yeah, there's web API?

504
00:27:50,080 --> 00:27:55,240
- You can enable, there's three things you can do.

505
00:27:55,240 --> 00:27:59,200
Limit the fields, you enable the web API.

506
00:27:59,200 --> 00:28:03,120
So by default, no table is enabled on the web API.

507
00:28:03,120 --> 00:28:05,840
Then you enable a table on the web API,

508
00:28:05,840 --> 00:28:10,160
but you can only enable certain fields, point number one.

509
00:28:10,160 --> 00:28:14,000
Then you can also put table permissions on that way.

510
00:28:14,000 --> 00:28:18,320
You have to put table permissions on that table anyway.

511
00:28:18,320 --> 00:28:21,560
So what's gonna happen is when you put table permissions,

512
00:28:21,560 --> 00:28:26,560
you can specify if the user has global access in the table,

513
00:28:26,560 --> 00:28:30,280
they have account access or contact access.

514
00:28:30,280 --> 00:28:32,160
So if they have contact access,

515
00:28:32,160 --> 00:28:36,800
they only have access to the records assigned to their contacts.

516
00:28:36,800 --> 00:28:40,480
They cannot see or modify records made by other people

517
00:28:40,480 --> 00:28:41,560
if they shouldn't.

518
00:28:41,560 --> 00:28:44,680
When you put account level, it's to the accounts

519
00:28:44,680 --> 00:28:46,880
that they're contacted styles to.

520
00:28:46,880 --> 00:28:51,400
Then you can be tweaking the relationships to make that work

521
00:28:51,400 --> 00:28:53,360
the way you want, but just bear in mind,

522
00:28:53,360 --> 00:28:56,640
there has to be a relationship to the account

523
00:28:56,640 --> 00:28:58,480
or the contact of the user.

524
00:28:58,480 --> 00:29:02,920
And the other thing you can do is you can configure also

525
00:29:02,920 --> 00:29:05,040
the column permissions.

526
00:29:05,040 --> 00:29:06,880
So you can put column permissions in the table.

527
00:29:06,880 --> 00:29:10,560
So for example, you have a table where you need to enable

528
00:29:10,560 --> 00:29:14,400
10 fields of the table in the web API,

529
00:29:14,400 --> 00:29:18,280
but the users should be able to update only five of them.

530
00:29:18,280 --> 00:29:19,280
You can do it.

531
00:29:19,280 --> 00:29:22,880
So I can create column security profiles where you say,

532
00:29:22,880 --> 00:29:27,560
hey, all the fields should be enabled for read

533
00:29:27,560 --> 00:29:32,960
except those five fields, they should be enabled

534
00:29:32,960 --> 00:29:34,800
for data and create as well.

535
00:29:34,800 --> 00:29:38,840
And there you go, or even remove values and things like that.

536
00:29:38,840 --> 00:29:43,840
And in terms of the web API, that's the critical bits,

537
00:29:43,840 --> 00:29:49,840
I'd say, it's very mind like if the users can access it,

538
00:29:49,840 --> 00:29:54,920
if JavaScript can access it, anyone with the permissions

539
00:29:54,920 --> 00:29:58,720
could access it by developer tools.

540
00:29:58,720 --> 00:30:02,840
If they don't have access to the record, that's fine.

541
00:30:02,840 --> 00:30:04,480
If the permissions are set correctly,

542
00:30:04,480 --> 00:30:05,840
nothing bad is gonna happen.

543
00:30:07,600 --> 00:30:10,360
So there's that you have to look at,

544
00:30:10,360 --> 00:30:15,280
attackers cannot, yeah, say, inject,

545
00:30:15,280 --> 00:30:16,480
check or something.

546
00:30:16,480 --> 00:30:20,760
I think that's it's, yeah, it's all about only

547
00:30:20,760 --> 00:30:24,480
what happens, it's a little bit more even than internal.

548
00:30:24,480 --> 00:30:32,120
But how will you say, did you balance between usability,

549
00:30:32,120 --> 00:30:33,320
security,

550
00:30:35,520 --> 00:30:38,440
when you develop and power, power pay?

551
00:30:38,440 --> 00:30:45,400
- It's hard to say because at the end,

552
00:30:45,400 --> 00:30:48,960
they I think we need to do some audits in terms of security.

553
00:30:48,960 --> 00:30:51,120
Even if the portal is usable, I think,

554
00:30:51,120 --> 00:30:53,920
before going live, we have to do like a penetration testing

555
00:30:53,920 --> 00:30:57,120
to find if there's any gap in security.

556
00:30:57,120 --> 00:31:01,920
There's also a power pages, the security agent,

557
00:31:01,920 --> 00:31:06,920
there's the security reports that the product itself

558
00:31:06,920 --> 00:31:10,000
shows something that you should be configuring.

559
00:31:10,000 --> 00:31:13,680
Everything I said, for example,

560
00:31:13,680 --> 00:31:17,400
this thing of having a table with global permissions,

561
00:31:17,400 --> 00:31:20,080
you can get some audits on top of that as well,

562
00:31:20,080 --> 00:31:23,880
and then you need to petition to all those audits flag you

563
00:31:23,880 --> 00:31:25,960
and fix it.

564
00:31:25,960 --> 00:31:28,880
But in terms of balancing your line security,

565
00:31:28,880 --> 00:31:33,640
I don't think one affects the other thing, essentially.

566
00:31:33,640 --> 00:31:37,640
It just before you put aside life,

567
00:31:37,640 --> 00:31:40,400
do those checks, do the audits, run a pentase as well,

568
00:31:40,400 --> 00:31:42,960
and fix, but the thing is,

569
00:31:42,960 --> 00:31:47,440
if the developer has everything I said in mind at first,

570
00:31:47,440 --> 00:31:49,760
there's gonna be less problems when that moment comes

571
00:31:49,760 --> 00:31:53,160
before all life, because you put everything with that in mind,

572
00:31:53,160 --> 00:31:55,480
so less things to adjust to.

573
00:31:56,600 --> 00:32:01,160
And did you see, say, we have we new risk,

574
00:32:01,160 --> 00:32:04,520
especially through co-pilot or AI,

575
00:32:04,520 --> 00:32:07,160
is there a new threat actually?

576
00:32:07,160 --> 00:32:14,240
- To be honest with you, I am not aware

577
00:32:14,240 --> 00:32:16,200
why things are of prompting jacks,

578
00:32:16,200 --> 00:32:19,880
and things like that, I didn't check too much.

579
00:32:19,880 --> 00:32:20,720
Yeah.

580
00:32:20,720 --> 00:32:25,120
- Yeah, and we will say,

581
00:32:25,120 --> 00:32:27,800
when we take about the top AI topic,

582
00:32:27,800 --> 00:32:31,800
how did you find, how has it changed the world,

583
00:32:31,800 --> 00:32:35,360
power platform experience for you?

584
00:32:35,360 --> 00:32:36,440
What would you say?

585
00:32:36,440 --> 00:32:40,960
- Well, I think it's just, for example,

586
00:32:40,960 --> 00:32:43,640
the speeds up doing bug fixes

587
00:32:43,640 --> 00:32:47,960
or creating prototypes, basically.

588
00:32:47,960 --> 00:32:51,000
I'm saying about just to help co-pilot, basically.

589
00:32:52,400 --> 00:32:55,720
Because I think like GitHub, co-pilot, or cloud is what people

590
00:32:55,720 --> 00:32:57,640
are using to build the apps.

591
00:32:57,640 --> 00:32:58,840
Spades up a few things.

592
00:32:58,840 --> 00:33:04,280
Obviously, I think it works best to fix small bugs

593
00:33:04,280 --> 00:33:05,680
or maybe creating something new

594
00:33:05,680 --> 00:33:09,720
and always issue interact with existing apps.

595
00:33:09,720 --> 00:33:13,680
It's a bit, the results are a bit unpredictable.

596
00:33:13,680 --> 00:33:15,600
You need to be watching out,

597
00:33:15,600 --> 00:33:18,240
but at least it helps in terms of generating proof of concepts

598
00:33:18,240 --> 00:33:22,320
and small bug fixes, that's what I see so far.

599
00:33:22,320 --> 00:33:24,880
- Yeah, a lot of people say,

600
00:33:24,880 --> 00:33:27,080
"I will replace developers."

601
00:33:27,080 --> 00:33:30,360
Did you think that will happen

602
00:33:30,360 --> 00:33:33,920
or do the role only change?

603
00:33:33,920 --> 00:33:38,920
- No, I don't think AI will replace developers.

604
00:33:38,920 --> 00:33:42,240
AI can replace developers that don't use AI.

605
00:33:42,240 --> 00:33:47,760
Because like, I'm not saying you should build everything

606
00:33:47,760 --> 00:33:49,880
with AI, but for a few bits, you can,

607
00:33:49,880 --> 00:33:54,040
you definitely will have to speed up the process.

608
00:33:54,040 --> 00:33:57,880
So for example, like I said, maybe some small bug fixes,

609
00:33:57,880 --> 00:34:00,840
creating prototypes and creating proof of concepts,

610
00:34:00,840 --> 00:34:02,760
at least, I think that's not a toy.

611
00:34:02,760 --> 00:34:06,120
There's no point on validating if something works or not

612
00:34:06,120 --> 00:34:07,680
and you have to build everything from scratch

613
00:34:07,680 --> 00:34:09,800
when you can SKI to build it for you quickly

614
00:34:09,800 --> 00:34:13,040
and you just see how it behaves.

615
00:34:13,040 --> 00:34:17,800
But I think like how those agitals are evolving,

616
00:34:17,800 --> 00:34:20,920
that's gonna be only increasing,

617
00:34:20,920 --> 00:34:24,680
even for the building bigger applications and so far.

618
00:34:24,680 --> 00:34:28,600
There's always gonna be a human interaction with it

619
00:34:28,600 --> 00:34:33,600
or a need of reviewing the apps that are developed.

620
00:34:33,600 --> 00:34:35,400
And it's funny enough, as well,

621
00:34:35,400 --> 00:34:37,760
the trend we are seeing in the recent tweaks

622
00:34:37,760 --> 00:34:40,880
that companies are starting to evaluate

623
00:34:40,880 --> 00:34:46,400
the benefits of building apps with AI versus the consumption

624
00:34:46,400 --> 00:34:49,880
and money spent with tokens and everything because,

625
00:34:49,880 --> 00:34:55,680
I think there's a big hype with it and how can I say,

626
00:34:55,680 --> 00:35:00,520
the best developers will be the ones that use it

627
00:35:00,520 --> 00:35:04,200
when it's really needed and with the less consumption

628
00:35:04,200 --> 00:35:05,280
as possible.

629
00:35:05,280 --> 00:35:08,000
Like they know how to prompt the prompt correctly

630
00:35:08,000 --> 00:35:11,640
and bring the best outputs for the companies.

631
00:35:11,640 --> 00:35:14,480
Because it's really easy to start asking a lot of things

632
00:35:14,480 --> 00:35:16,720
and burn a lot of tokens and don't get,

633
00:35:16,720 --> 00:35:19,880
like you can build an app, but maybe you build an app,

634
00:35:19,880 --> 00:35:22,720
but what was the impact of that app?

635
00:35:22,720 --> 00:35:24,640
Like you just burn tokens for knocking

636
00:35:24,640 --> 00:35:27,760
or did it really make a difference?

637
00:35:27,760 --> 00:35:34,280
- Yeah, I think there was things in meme,

638
00:35:35,360 --> 00:35:40,360
where stands the developer costs, costs, I don't know,

639
00:35:40,360 --> 00:35:47,960
$68,000 and then per year and then the other side shows,

640
00:35:47,960 --> 00:35:52,480
tokens spend one month, 300,000.

641
00:35:52,480 --> 00:35:58,440
So, take it, if the developer gets a bit job-making.

642
00:35:58,440 --> 00:36:03,760
Yeah, but you are also, yeah, in Microsoft MVP.

643
00:36:04,360 --> 00:36:08,000
So, it's, yeah, I say, community award.

644
00:36:08,000 --> 00:36:12,720
What did you do especially in the community?

645
00:36:12,720 --> 00:36:13,920
What's your community work?

646
00:36:13,920 --> 00:36:18,680
- I started when I got to be awarded,

647
00:36:18,680 --> 00:36:21,960
was really, it was doing pandemic,

648
00:36:21,960 --> 00:36:24,560
post-pandemic times for COVID.

649
00:36:24,560 --> 00:36:29,200
So, I had a friend that, he was an MVP at that time

650
00:36:29,200 --> 00:36:32,160
and he had a blog and he was motivating me to write more

651
00:36:32,160 --> 00:36:35,600
than I started to write more for my blog.

652
00:36:35,600 --> 00:36:38,760
I did a few presentations as well,

653
00:36:38,760 --> 00:36:42,040
like a few sessions, conferences,

654
00:36:42,040 --> 00:36:44,800
there was a few at that point,

655
00:36:44,800 --> 00:36:48,520
I used to contribute to the Microsoft PNP,

656
00:36:48,520 --> 00:36:51,320
Microsoft 365 PNP,

657
00:36:51,320 --> 00:36:55,120
so there was a GitHub repo with part-platform samples

658
00:36:55,120 --> 00:36:56,880
and SharePoint list formatting samples,

659
00:36:56,880 --> 00:36:59,440
I used to contribute with that as well.

660
00:36:59,440 --> 00:37:03,600
And then slowly, my main focus now is,

661
00:37:03,600 --> 00:37:06,560
write the blogs, present them conferences,

662
00:37:06,560 --> 00:37:09,520
sometimes I put a few samples on GitHub as well.

663
00:37:09,520 --> 00:37:13,320
But yeah, I think many of the blogs and a few conferences.

664
00:37:13,320 --> 00:37:16,480
- That's the, and also been active on social media,

665
00:37:16,480 --> 00:37:20,200
like posting updates or any tips or anything.

666
00:37:20,200 --> 00:37:24,720
- I think all the information puts in the show notes

667
00:37:24,720 --> 00:37:25,920
with all the links.

668
00:37:25,920 --> 00:37:30,320
And then what advice would you give someone

669
00:37:30,320 --> 00:37:33,000
who will start with power platform journey today?

670
00:37:33,000 --> 00:37:38,240
- Let me think.

671
00:37:38,240 --> 00:37:44,480
Honestly, but it's not only today,

672
00:37:44,480 --> 00:37:45,840
I think sometimes like today,

673
00:37:45,840 --> 00:37:48,920
I think the certification paths changed a little bit,

674
00:37:48,920 --> 00:37:51,320
but I just always thought that,

675
00:37:51,320 --> 00:37:52,560
I know it's just a credential,

676
00:37:52,560 --> 00:37:54,520
but if you don't know where to be in,

677
00:37:54,520 --> 00:37:58,640
get a certification learning path and study that,

678
00:37:58,640 --> 00:38:01,840
or try to get the certificate for two reasons,

679
00:38:01,840 --> 00:38:03,720
because it gives you a learning path to follow

680
00:38:03,720 --> 00:38:06,200
and you get exposure of all the features,

681
00:38:06,200 --> 00:38:08,400
you understand more or less how it works,

682
00:38:08,400 --> 00:38:12,320
and you also get credentials to help your CV,

683
00:38:12,320 --> 00:38:13,520
you wanna find a job.

684
00:38:13,520 --> 00:38:16,280
So I think that's a way to go.

685
00:38:16,280 --> 00:38:21,440
Sometimes even if you start working with a power platform

686
00:38:21,440 --> 00:38:23,080
by yourself, not only a power platform,

687
00:38:23,080 --> 00:38:25,280
but any Microsoft related technology,

688
00:38:25,280 --> 00:38:29,800
you probably will be touching only the features

689
00:38:29,800 --> 00:38:33,760
that you are requested to work with at your job.

690
00:38:33,760 --> 00:38:37,280
So if you get a certification or a learning path,

691
00:38:37,280 --> 00:38:38,840
it's good at least you get the awareness

692
00:38:38,840 --> 00:38:41,400
of what you can do with the platform

693
00:38:41,400 --> 00:38:43,080
and what you can do,

694
00:38:43,080 --> 00:38:45,680
and that gives you more room to grow.

695
00:38:45,680 --> 00:38:49,080
So even if you are not very proficient with a feature,

696
00:38:49,080 --> 00:38:50,480
when you have a problem, you know,

697
00:38:50,480 --> 00:38:53,640
hey, maybe that could help me to solve this problem.

698
00:38:53,640 --> 00:38:56,200
And you can start playing around and learning more, you know?

699
00:38:56,200 --> 00:39:02,880
- Yeah, and all sessions, I do a quick fire round.

700
00:39:02,880 --> 00:39:08,120
So I give you a consentence and you say,

701
00:39:08,120 --> 00:39:09,680
what comes in your mind.

702
00:39:09,680 --> 00:39:11,600
So yeah,

703
00:39:11,600 --> 00:39:16,640
power apps or power pages?

704
00:39:17,920 --> 00:39:20,360
- I'd say power apps because it's,

705
00:39:20,360 --> 00:39:25,640
that's what gives more impact to people

706
00:39:25,640 --> 00:39:27,080
because power pages is very good,

707
00:39:27,080 --> 00:39:29,320
but it has a very niche use case.

708
00:39:29,320 --> 00:39:33,200
Okay, that's because I'm thinking about impact and usage overall.

709
00:39:33,200 --> 00:39:38,600
- What's better SharePoint, classic or SharePoint?

710
00:39:38,600 --> 00:39:39,800
- Modern SharePoint.

711
00:39:39,800 --> 00:39:42,440
- Calmances or model driven apps?

712
00:39:42,440 --> 00:39:45,200
- Model driven apps.

713
00:39:46,560 --> 00:39:49,960
- Data, data was on that RSQL.

714
00:39:49,960 --> 00:39:56,080
- He depends, I have to say data was because I work more

715
00:39:56,080 --> 00:40:00,320
with the power platform, but yeah, each one has its benefits.

716
00:40:00,320 --> 00:40:05,520
- What's your favorite JavaScript or C#?

717
00:40:05,520 --> 00:40:09,360
- To be honest, I don't have a favorite.

718
00:40:09,360 --> 00:40:11,080
I liked program with both.

719
00:40:15,120 --> 00:40:18,160
If Microsoft give you the control over the power platform

720
00:40:18,160 --> 00:40:21,440
roadmap for one day, what's the first feature you add

721
00:40:21,440 --> 00:40:23,880
and what's the first thing you will need?

722
00:40:23,880 --> 00:40:27,320
- First feature, I would, I would add,

723
00:40:27,320 --> 00:40:30,560
I would improve how multi-developer story works

724
00:40:30,560 --> 00:40:33,880
with power pages because it's always a bit tricky.

725
00:40:33,880 --> 00:40:36,880
And the other one is the first feature I would,

726
00:40:36,880 --> 00:40:39,120
I would need are,

727
00:40:44,320 --> 00:40:47,400
I don't know, like I think both answers are the same.

728
00:40:47,400 --> 00:40:50,640
I would just put more effort on improving multi-developer

729
00:40:50,640 --> 00:40:52,000
story within power pages.

730
00:40:52,000 --> 00:40:55,560
I think it's improving overall, but could be better.

731
00:40:55,560 --> 00:41:00,760
- Yeah, solution architect or developer?

732
00:41:00,760 --> 00:41:05,480
- Solution architect.

733
00:41:05,480 --> 00:41:07,160
- Co-pilot or manual coding?

734
00:41:07,160 --> 00:41:10,880
- So a copilot or manual coding?

735
00:41:10,880 --> 00:41:12,360
Honestly, I prefer manual coding.

736
00:41:12,360 --> 00:41:13,840
You can do I use copilot first of all.

737
00:41:13,840 --> 00:41:16,760
I have more fun if I have problems to solve myself.

738
00:41:16,760 --> 00:41:20,320
- Dark mode or light mode?

739
00:41:20,320 --> 00:41:22,160
- Dark mode.

740
00:41:22,160 --> 00:41:25,560
- Remote work or office work?

741
00:41:25,560 --> 00:41:27,320
- Remote work.

742
00:41:27,320 --> 00:41:29,520
- Microsoft build or Microsoft unite?

743
00:41:29,520 --> 00:41:31,960
- Microsoft build.

744
00:41:31,960 --> 00:41:36,120
- Coffee, tea or energy during development?

745
00:41:36,120 --> 00:41:37,360
- Coffee.

746
00:41:37,360 --> 00:41:38,840
- And I'm addicted to coffee.

747
00:41:38,840 --> 00:41:42,360
- Brazil or island?

748
00:41:43,360 --> 00:41:46,920
- I have to say Brazil even though I live in Ireland

749
00:41:46,920 --> 00:41:48,680
because it's my home country.

750
00:41:48,680 --> 00:41:55,120
- Yeah, if you stranded on the desert island

751
00:41:55,120 --> 00:41:56,480
with internet access,

752
00:41:56,480 --> 00:42:00,200
but you only can use one Microsoft product forever.

753
00:42:00,200 --> 00:42:01,680
What do you choose?

754
00:42:01,680 --> 00:42:02,520
- Bye.

755
00:42:02,520 --> 00:42:06,000
- Little question.

756
00:42:06,000 --> 00:42:11,200
- My God, man.

757
00:42:12,200 --> 00:42:15,320
- They won't drive, won't drive because if I'm on internet,

758
00:42:15,320 --> 00:42:17,440
if I'm on a stranded island,

759
00:42:17,440 --> 00:42:19,520
I just want to won drive to save my pictures

760
00:42:19,520 --> 00:42:20,840
and personal stuff.

761
00:42:20,840 --> 00:42:22,680
I'm gonna be caring about work.

762
00:42:22,680 --> 00:42:31,520
- Yeah, and yeah, my last question, our final question is,

763
00:42:31,520 --> 00:42:34,800
when people think about, yeah, the session today,

764
00:42:34,800 --> 00:42:38,360
what's the one piece they took with them?

765
00:42:39,360 --> 00:42:44,360
- I think just they see that a person can maybe shift

766
00:42:44,360 --> 00:42:49,280
the career in different paths as I did,

767
00:42:49,280 --> 00:42:52,880
like from the SharePoint to parapsed the parapages.

768
00:42:52,880 --> 00:42:55,760
And also the explanation about importance

769
00:42:55,760 --> 00:42:57,440
of security in parapages as well,

770
00:42:57,440 --> 00:43:01,400
because I just think it's important to bring awareness

771
00:43:01,400 --> 00:43:04,200
to people and like the questions you made,

772
00:43:04,200 --> 00:43:08,280
it helped me to try to explain the importance

773
00:43:08,280 --> 00:43:09,960
of it, that's it.

774
00:43:09,960 --> 00:43:14,960
- Yeah, yeah, then, yeah, thank you for this fantastic conversation.

775
00:43:14,960 --> 00:43:20,280
Yeah, and all your insight about power platform architecture,

776
00:43:20,280 --> 00:43:22,360
power pages security, pro code, custom action,

777
00:43:22,360 --> 00:43:25,280
and yeah, the evolution of traditional development

778
00:43:25,280 --> 00:43:27,440
to modern business applications.

779
00:43:27,440 --> 00:43:31,760
Yeah, I think one of the key takeaways for me

780
00:43:31,760 --> 00:43:33,440
is that successful power platforms

781
00:43:33,440 --> 00:43:36,400
that are just about building quickly,

782
00:43:36,400 --> 00:43:38,900
they are designing security, scalable,

783
00:43:38,900 --> 00:43:41,200
powerful and creating experience

784
00:43:41,200 --> 00:43:43,520
that deliver a long-term value.

785
00:43:43,520 --> 00:43:44,600
And yeah, thank you.

786
00:43:44,600 --> 00:43:47,120
I hope you have enjoyed this episode.

787
00:43:47,120 --> 00:43:48,440
And yeah, I did.

788
00:43:48,440 --> 00:43:49,440
- It was great.

789
00:43:49,440 --> 00:43:53,080
As soon as possible.

790
00:43:53,080 --> 00:43:54,320
- Thank you for inviting me.

791
00:43:54,320 --> 00:43:55,160
It was a pleasure.

792
00:43:55,160 --> 00:43:57,320
- Thank you.

793
00:43:57,320 --> 00:43:59,080
Bye, have a nice day.

794
00:43:59,080 --> 00:44:00,160
- Bye, good to you.

795
00:44:00,160 --> 00:44:10,160
[BLANK_AUDIO]